方式一:
setAttribute(Qt::WA_WindowModified,true);
方式二:
// 窗口对整个程序阻塞
setWindowModality(Qt::ApplicationModal);
// 窗口对父窗口阻塞
setWindowModality(Qt::WindowModal);
上述方式只能实现半模态,即窗口阻塞了,但是代码还会继续运行
当需要窗口关闭时获取窗口的某个值去执行条件语句的代码时,是需要模态对话框那种效果的。即窗口阻塞,代码也被阻塞。
办法:
QWidget *widget = new QWidget;
QDialog *dlg = new QDialog(this);
widget->setParent(dlg);
dlg->exec();
if(widget->m_ok)
{
…
}