对话框及其类型2

模态对话框(QDialog::exec())
-显示后无法与父窗口进行交互
-是一种阻塞式的对话框调用方式
非模态对话框(QDialog::show())
-显示后独立存在可以同时与父窗口进行交互
-是一种非阻塞式的对话框调用方式

一般情况下
-模态对话框用于必须依赖用户选择的场合(80%)
  消息提示,文件选择,打印设置,等
-非模态对话框用于特殊功能设置的场合(20%)
  查找操作,属性设置,等

小技巧:
-在栈上创建模态对话框是最简单常用的方式
-一般情况下非模态对话框需要在堆上创建
-通过QDialog::setModal函数可以创建混合特性的对话框
-非模态对话框需要指定Qt::WA_DeleteOnClose属性(关闭对话框时,同时删除对话框对象)

 

posted @ 2020-02-17 10:55  一代枭雄  阅读(421)  评论(0编辑  收藏  举报