在Qt应用程序源码目录中有.pro文件,开头有:
QT += core gui
意思是使用core和gui库。这个是Qt的默认配置,可以省略。如果要使用其他库,例如数据库,那么加上:
QT += core gui sql
头文件包含了所有的窗口组件,对位于应上述的gui(库)模块。Qt以面向对象的方式将组件看做是一个个对象而构成GUI图形界面。所有的组件可分为三类:
(1) 容器类的父组件:用于包含其他的窗口组件
(2) 功能类的子组件:用于实现交互功能的窗口组件
(3) 容器类的子组件:用于包含其他窗口且具有交互功能的窗口组件
如下图片(截图来自飞秋应用程序):
(1) 红色框框表示容器类的父组件,它也是GUI程序的顶级组件。
(2) 蓝色框框表示容器类的子组件,其间存放了多个标签。
(3) 其他部分为功能类子组件,如文本框、标签、按钮等。
1. QWidget组件类
QWidget继承了QObject类和QPaintDevice类,QObject是所有Qt对象的基类,QPanitDevice是Qt中所有可绘制的组件的基类。
QWidget能够绘制自身和处理用户输入,它是所有窗口组件类的父类。QWidget抽象了所有窗口组件,一般QWidget类对象作为父组件或者顶级组件使用。
QWidget类有两个构造函数:
QWidget ( QWidget * parent = 0, Qt::WindowFlags f = 0 )
~QWidget ()
当parent为NULL时,表示这是一个顶级组件,f为Qt::WindowFlags类型的参数:Qt::CustomizeWindowHint、Qt::WindowTitleHint等
2. QLabel组件类
Label即标签,用于显示一个提示性的字符串,一般作为功能类的子组件,存在于一个容器类的父组件中。
3. QPushButton组件类
Button即按钮,QPushButton用于接受用户的点击事件且能够显示提示性字符串,QPushButton一般作为功能类的子组件,存在于一个容器类的父组件中。
4. QLineEdit组件类
QLineEdit即文本框,用于获取用于输入放入字符串,同理,QLineEdit一般作为功能类子组件,存在于容器类父组件中。