当 QDialog 打开时允许 QMainWindow 上的关闭按钮
Allow Close Button on QMainWindow when QDialog is Open
当 QMainWindow 处于打开状态时,我遇到了一个 Qt Close Option 问题,并且在按下按钮时我正在打开一个 QDialog.Now 我的要求是允许关闭选项是 QMainWindow 来调用 QMainWindow 的关闭事件。
现在的情况是,当我在主窗口上按下按钮时,QmainWindow 中最右上角的 QDialog 打开和关闭按钮被禁用。所以请让我知道如何启用。
那么,您不希望在对话框打开时阻止 GUI,对吗?
使用无模式对话框:
void EditorWindow::find()
{
if (!findDialog) {
findDialog = new FindDialog(this);
connect(findDialog, SIGNAL(findNext()), this, SLOT(findNext()));
}
findDialog->show();
findDialog->raise();
findDialog->activateWindow();
}
注:代码取自Qt文档。请注意,我们没有使用 QDialog::exec()
方法,而只是 QWidget::show()
.
感谢支持,你说的对,是modeless的问题
我刚刚按照上面的例子添加了:
findDialog->setModel(false);
findDialog->show();
在展示之前我添加了 setModel(false);
然后它就像一个魅力一样工作!!!
感谢和问候
普拉文·库马尔
当 QMainWindow 处于打开状态时,我遇到了一个 Qt Close Option 问题,并且在按下按钮时我正在打开一个 QDialog.Now 我的要求是允许关闭选项是 QMainWindow 来调用 QMainWindow 的关闭事件。
现在的情况是,当我在主窗口上按下按钮时,QmainWindow 中最右上角的 QDialog 打开和关闭按钮被禁用。所以请让我知道如何启用。
那么,您不希望在对话框打开时阻止 GUI,对吗?
使用无模式对话框:
void EditorWindow::find()
{
if (!findDialog) {
findDialog = new FindDialog(this);
connect(findDialog, SIGNAL(findNext()), this, SLOT(findNext()));
}
findDialog->show();
findDialog->raise();
findDialog->activateWindow();
}
注:代码取自Qt文档。请注意,我们没有使用 QDialog::exec()
方法,而只是 QWidget::show()
.
感谢支持,你说的对,是modeless的问题
我刚刚按照上面的例子添加了:
findDialog->setModel(false);
findDialog->show();
在展示之前我添加了 setModel(false);
然后它就像一个魅力一样工作!!!
感谢和问候 普拉文·库马尔