当前位置: 代码迷 >> QT开发 >> 怎么让一个弹出式对话框“模态”
  详细解决方案

怎么让一个弹出式对话框“模态”

热度:182   发布时间:2016-04-25 05:09:48.0
如何让一个弹出式对话框“模态”?
有没有一个简单的方法,让一个非模态对话框,“模态”化?

现在,遇到一些对话框,它是以非模态的方式弹出,结果,导致每点击按钮,生出一个对话框。再点击,又生出一个对话框。

事实上,我只需一个弹出来,并且,在它没关闭的时候,也不必可以点其它界面上的按钮。

------解决方案--------------------
可以调用QWidget的setWindowModality()方法;
------解决方案--------------------
//m_pFindDialog从QWidget派生
m_pFindDialog = new FindDialog(NULL);
m_pFindDialog->setWindowModality(Qt::WindowModal);
m_pFindDialog->activateWindow();
m_pFindDialog->setWindowState(Qt::WindowNoState);
m_pFindDialog->show();
------解决方案--------------------
C/C++ code
Dialog* dlg = Dialog();dlg->setMode(TRUE);dlg->show();
------解决方案--------------------
show()调用为非模态

exec()调用为模态

setMode(true);
show();也是模态
  相关解决方案