2.6 Qt提供的控件和对话框类(Built-in Widget and Dialog Classes)
Qt提供了许多控件和对话框类,可以满足多种情况的需要。这一节将对它们进行介绍。有些特殊的控件如:QMenuBar,QToolBar和QStatusBar主窗口类控件在第三章介绍,QSplitter和QScrollArea在第六章介绍。大部分Qt提供的控件都会在本书中出现。在下面即将介绍的控件中,用透明的方式显示其外观。
Qt提供四种方式的按钮: QPushButton, QToolButton, QCheckBox,和 QRadioButton. QPushButton 和 QToolButton主要用来提供点击动作,可以做为套索按钮(点击时显示按下的状态,再次点击后恢复)。QCheckBox 可以用来表示开关选项。QRadioButtons一般是多个组合起来一起使用,提供一个单一的选择。
Qt提供的容器类控件可以容纳其他的控件。QFrame可以单独使用,可以在其上画直线等,它也被其他许多控件类继承,如QToolBox和QLabel。
QTabWidget 和 QToolBox是多页对话框,每一页都是一个子控件,页数从0开始。
列表视图一般处理大量数据,经常需要使用滚动条来显示全部内容。滚动条机制的基类是QAbstractScrollArea,是视图类和其他滚动控件的基类。
Qt还提供只显示信息的控件,QLabel是用的最多的,它可以用来显示文本,显示带有html格式的文本,还可以显示图片。
QTextBrowser显示图片,表格,多文本连接等。Qt Assistant就是使用QTextBrowser显示用户文档。
Qt提供这样一些数据输入的控件。QLineEdit只可输入许可器允许的字符。QTextEdit是QAbstractScrollArea的子类,可以输入多行文本。
Qt还提供了多种普通的对话框,可以方便的选择颜色,字体,文件,打印文档等。Windows ,Mac OS X等不同平台上的普通对话框尽可能和平台控件风格一致。
Qt提供了很多信息显示对话框和错误提示对话框。程序的进行状态可以用QProgressDialog和QProgressBar显示。QInputDialog可以方便的让用户输入一行文本或者数字。
这些控件和对话框提供了很多方便的函数,大部分特殊的要求可以通过设置控件属性或者通过信号和槽连接完成。
有时候有些用户需要从零开始新建一个新自定义控件。在Qt中可以使用所有平台无关的绘制函数。自定义控件还可以集成到Qt Desinger中,象Qt原有提供的控件一样使用。第五章将会介绍怎么创建自定义控件。