模态对话框(QDialog::exec())
-显示后无法与父窗口进行交互
-是一种阻塞式的对话框调用方式
非模态对话框(QDialog::show())
-显示后独立存在可以同时与父窗口进行交互
-是一种非阻塞式的对话框调用方式
一般情况下
-模态对话框用于必须依赖用户选择的场合(80%)
消息提示,文件选择,打印设置,等
-非模态对话框用于特殊功能设置的场合(20%)
查找操作,属性设置,等
小技巧:
-在栈上创建模态对话框是最简单常用的方式
-一般情况下非模态对话框需要在堆上创建
-通过QDialog::setModal函数可以创建混合特性的对话框
-非模态对话框需要指定Qt::WA_DeleteOnClose属性(关闭对话框时,同时删除对话框对象)