结论:
模态对话框可以阻塞程序往下运行,只有关闭当前对话框才可以继续执行后面的操作。(不可以对其他窗口操作)
非模态对话框不会阻塞程序往下运行,不需要关闭当前对话框就可以继续执行后面的操作。(可以对其他窗口操作)
- 模态对话框的创建
//模态创建 阻塞
QDialog dlg(this);//创建对话框
dlg.resize(200,100);//设置对话框大小
dlg.exec();//阻塞对话框
- 非模态对话框的创建
//非模态对话框 防止一闪而过,创建到堆区
QDialog* dlg2 = new QDialog(this);
dlg2->show();//显示对话框
//防止创建窗口父窗口没关闭是内存溢出
dlg2->setAttribute(Qt::WA_DeleteOnClose); //55号属性 关闭释放