QDialog 打开时允许 QMainWindow 上的关闭按钮

Allow Close Button on QMainWindow when QDialog is Open

本文关键字:QMainWindow 关闭按钮 QDialog      更新时间:2023-10-16

当有QMainWindow打开并在按下按钮单击时,我有一个Qt关闭选项的问题,我正在打开一个QDialog.现在我的要求是允许关闭选项是QMainWindow调用QMainWindow的closevent。

现在,当我按下主窗口上的按钮时,QDialog打开和关闭右上角的按钮在QmainWindow中被禁用。所以请让我知道如何启用。

所以,你不想在对话框打开时阻止你的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() .

感谢您的支持,您是对的,这是无模式的问题

我刚刚按照上面的示例添加:

 findDialog->setModel(false);
 findDialog->show();

在显示之前,我添加了setModel(false);,然后它像魅力一样工作!!

感谢和问候普拉文·库马尔