对话框模态,关闭当前对话框前,无法操作其他窗口
非模态,当前对话框打开同时,也可以操作其他对话框
模态在对话框创建时设定好后,程序运行过程中无法切换!(如:对话框A当前为非模态,弹出后,设置为模态,不起作用)
1.如果使用exec()默认为模态的。如果用show()需要设置setModel(true)才是模态的。
方法1:模态窗口
A为窗口类, 父类窗口为B
A *dlg = new A(this,pB)(可确保A显示在B之上)
dlg->exe();
注意:此时使用setModal无效果
方法2:
A *dlg = new A(this,pB)(可确保A显示在B之上)
dlg-.setModel(true);
dlg->show();
2、close()会销毁对象嘛。只有当设置了 setAttribute(WA:closeOnDelelte)是才会删除,如果这个标志没有设置,其作用和hide(),setvisible(false)一样,只会隐藏改对象。
A为窗口类, 父类窗口为B
A *dlg = new A(this,pB)(可确保A显示在B之上)
dlg->setAttribute(WA:closeOnDelelte);
dlg->show;
注意,此时需要使用close();否则dlg指针未被管理。
3、QWidget的模态和非模态;
4、阻塞?