Qt-对话框初识
如有问题请指正
在使用软件的时候,打开主窗口后,点击上面的某个组件可能会弹出对话框之类的东西,这个东西在Qt中使用QDialog类实现的。就像主窗口一样,我们通常也会涉及一个类继承QDialog。QDialog及其之类在创建的时候如果给起parent指针,那么在电脑底部的任务栏中不会有自己独立的位置,而若为NULL,那么在任务栏中将拥有自己独立的位置,也就是说指定parent指针时创建的是非顶层窗口,为NULL时创建的是顶层窗口。
对话框分为模态对话框和费模态对话框。
- 模态对话框:会阻塞同一应用程序中其它窗口的输入。
- 非模态对话框:不会阻塞同一应用程序中其他窗口的输入。
Qt支持这两种对话框,而且Qt中模态对话框分两种
:
- 应用程序级别模态对话框(QDialog::exec):当该种模态的对话框出现时,用户必须首先对对话框进行交互,直到关闭对话框,然后才能访问程序中其他的窗口
- 窗口级别模态对话框(QDialog::open):仅仅阻塞与对话框关联的窗口,但是依然允许于程序其他窗口交互。
- 非模态对话框(QDialog::show)
以下是两种情况:
在栈上创建一个变量 newDialog,parent指针为默认值(NULL),任务栏显示有窗口的新的位置,如下