QT对话框设计

时间:2021-01-29 05:07:17

软件和系统:QTcreator5.7,win8.1

1. 首先新建项目,选择application中的Qt widgets application。

QT对话框设计

2. 创建类Dialog,选择QDialog作为基类。

QT对话框设计

3. 由于对话框简单,可以通过代码实现,而不用ui。

4. 首先了解以下几个控件:

(1)       QCheckBox

一个选项按钮,可以选择性开启或者关闭,用于指导一个操作的的行为。每当其被选择或者被清除就会发送一个stateChanged()信号。也可以通过isChecked()来检测其状态。

(2)       Qlabel

在对话框中呈现出文本或者图片。

(3)       QLineEdit

用户可以输入一行文本,该文本可以被粘贴、复制等。当内容改变时,发出textChanged()信号。

(4)       QPushButton

对话框中的按钮,执行命令。每当按下就会发送clicked()信号。

5. 在头文件中声明以上控件类:

QT对话框设计

这些控件类在Qt4中包含在Gtui头文件中,在Qt5中包含在QtWidgets中,定义这些类本可以直接包含头文件QtWidgets,但是在已经包含了较大头文件的文件中再包含那么大头文件,不是一种好的编程风格。

6. 定义信号和槽。

QT对话框设计

Q_OBJECT是QT中宏定义,如果需要定义槽、信号就需要包含这个宏。信号和槽是QT创建的,其独立于C++,其编译由moc来完成。

这里定义的两个信号findNext和findPrevious是QT中函数,用于进行文本查找。

槽是定义的用户自定义的。

7. 生成对话框控件。

QT对话框设计

&代表快捷选项,&后边字母可以通过Alt+字母来进行选择。

8. 链接信号和槽。

QT对话框设计

当lineEdit中文本变化,就会引发enebleFindButton();findButton按钮按下就会触发findClicked()信号;closeButton按钮按下就会关闭对话框。

9. 控件排列。

QT对话框设计

QHBoxLayout、QVBoxLayout用于排布控件,前者横向排列后者纵向排列,通过这两个类可以实现控件分布。

10. 最终结果:

QT对话框设计