分享

QT 内建控件概览

 成长的园地.a 2012-04-18

Qt提供了大量的内建控件及通用对话框可满足程序员的绝大部分要求。本节中我们将对这些控件和对话框作一个大概的介绍。我们将在后面的章节中对部分控件作详细介绍:在第三章将介绍QMenuBarQToolBarQStatusBar等主窗口控件,在第六章中将介绍QSplitterQScrollArea等布局类控件。大部分的内建控件和对话框都将在本书的例子中涉及。2.172.26的截图中控件均为KDE3 Plastique风格。

2.17 Qt按纽控件


2.18 Qt单页容器控件

 

2.19 Qt多页容器控件

 

2.20 Qt 项目查看控件

 

2.21 Qt显示控件

 

2.22 Qt输入控件

 

2.23 Qt反馈对话框


2.24 Qt颜色和字体对话框


2.25 Qt文件和打印对话框


2.26 Qt向导对话框


如图2.17, Qt提供了四种“按纽”:QPushButton, QtoolButton, QcheckBox QRadioButtonQPushButtonQToolButton一般执行某个动作,但也可用作触发按纽。QCheckBox一般用来提供多选项,而QRadioButton常用于提供单选项。

Qt容器类控件是指可容纳其他控件的控件,如图2.18和图2.19所示。QFrame可画些简单的图形,也可作为其他控件的基类,如QToolBoxQLabel等。

QTabWidgetQToolBox是多页控件,每一页均为一个子控件,且从0开始计数。在QTabWidget中,Tab控件的形状和位置均可设置。

如图2.20的内容显示控件一般用于大量数据的显示,常使用滚动条。滚动条机制由QAbstractScrollArea继承而来,后者为内容显示控件及其他一些可使用滚动条控件的基类。

Qt内建了一种格式化文本引擎可显示和编辑格式化文本,此引擎支持字体显示,对齐,列表,表格,图像,超链接等功能,支持HTML格式。此引擎支持的HTML标签和CSS属性详细信息请参见:http://doc./4.3/richtext-html-subset.html

Qt提供了若干控件专门用于显示信息,如图2.21所示。QLabel是其中最为重要的一种,可用于显示纯文本,HTML,图像信息等。

QtextBrowser是一种只读QTextEdit子类,用于显示格式化文本。与QLabel不同,此类型可显示大规模格式化文档,并可自动添加滚动条,提供鼠标及键盘导航功能。4.3版本的Qt助手便是用QTextBrowser写成的。

如图2.22Qt提供了若干用于输入的控件。QLineEdit允许使用屏蔽字符或校验器对输入字符进行限制,两种方式也可同时使用。QTextEditQAbstractScrollArea的派生类,可用于编辑大规模的纯文本或是格式化文本,在编辑格式化文本时,它可显示所有Qt格式化文本引擎所支持的元素。QLineEditQTextEdit均与系统剪贴板完美集成。

如图2.23Qt提供了若干标准消息框和错误对话框,并记录其显示的消息内容。操作进度可由QProgressDialog或图2.23所示的QProgressBar进行模拟。在需要输入一行文本或是一个数字时,使用QInputDialog非常方便。

如图2.242.25Qt提供了一组标准对话框以方便选取颜色,字体和方件,或是进行打印。

windowsMac OS X系统上,Qt会尽可能的使用本地风格对话框,同时颜色和字体也都可以利用Qt机制自定义。

最后,利用QWizard可方便快捷的创建向导(Mac上称作助手)。向导常用于帮助用户完成复杂或是很少用到的操作,图2.26为一个向导示例。

内建控件和对话框提供了大量通用功能,通过修改控件属性或是新建信号/槽联接,自定义槽函数等方式我们还可实现自定义功能。

如果Qt内建的控件和对话框还不能满足你的要求,那可以考虑一下Qt Solutions,或是Qt商业版本,第三方版本等。Qt Solution提供了大量新增的控件,包括颜色选择器,旋纽,扇形菜单,属性浏览器等。

在某些情况下,我们还想创建自己的自定义控件。在Qt中,这也是很方便完成的,且自定义控件与内建控件一样可直接对Qt中平台无关的绘制函数进行操作,从而使得我们的自定义控件也有着与本地操作系统相同的观感。自定义控件甚至还可以集成到Qt设计器中,像内建控件一样使用。在第五章中我们将介绍如何创建自定义控件。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多