对话框
Qt常用的内置对话框有:
- QFiledialog (文件对话框).
- QColorDialog(颜色对话框)、
- QFontDialog(字体对话框)、
- QInputDialog(输入对话框)
- QMessageBox(消息框)。
但是在实际工作中,更多的是在window文件里,创建对话框,继承dialog类。
一.基本的对话框
创建一个按钮,当点击该按钮时,就会弹出一个对话框。
二.自定义对话框
如果想要添加控件,直接在对应的cpp文件里添加即可。
三.通过图形化界面自定义对话框
注意此处调用的是我们自己生成的类,而不是库里的QDialog。
四.关于对话框mode
模态对话框指的是:显示后无法与父窗口进行交互,是一种阻塞式的对话框。使用QDialog.:exec()函数调用。模态对话框适用于必须依赖用户选择的场合,比如消息显示,文件选择,打印设置等。
非模态对话框显示后独立存在,可以同时与父窗口进行交互,是一种非阻塞式对话框,使用QDialog:show()函数调用。
非模态对话框一般在堆上创建,这是因为如果创建在栈上时,弹出的非模态对话框就会一闪而过。同时还需要设置Qt:WA_DeleteOnClose属性,目的是:当创建多个非模态对话框时(如打开了多个非模态窗口),为了避免内存泄漏要设置此属性。
非模态对话框适用于特殊功能设置的场合,比如查找操作,属性设置等。