最近在做主界面通过按钮弹出对话框时,想让弹出对话框时主界面不可操作。总结两种方法如下;
方法一:
继承QDialog,
class CMyDialog : public QDialog
{
Q_OBJECT
public:
CMyDialog(QWidget *parent = 0);
~CMyDialog();
QStringList GetValue();
private:
Ui::CMyDialog ui;
QStringList m_ValueList;
};
主界面调用时,以模态的形式显示对话框。
CMyDialog* pDialog = new CMyDialog(this);
Qt::WindowFlags flags = pDialog->windowFlags();
pDialog->setWindowFlags(flags | Qt::MSWindowsFixedSizeDialogHint);
int ret = pDialog->exec();// 以模态方式显示对话框
if (ret == QDialog::Accepted)
{
//OK按钮被按下,获取对话框上的输入,设置行数和列数
QStringList temp = pDialog->GetValue();
}
delete pDialog;
方法二:
pDialog->setWindowModality(Qt::ApplicationModal);
pDialog->show();