1

在以前的 Qt 版本中,我们可以使用以下文件对话框的构造函数:

QFileDialog(QWidget * parent = 0, const char * name = 0, bool modal = FALSE)

因此,看起来可以制作非模态文件对话框。但是现在(在 Qt5 中)我们在构造函数中没有这样的参数。QFileDialog 也忽略setWindowModality(Qt::NonModal);and setModal(false);(我已经检查过,如果windowModality() == Qt::NonModal && isModal() == false,文件对话框窗口仍然是模态的)。

你有想法,如何使我的文件对话框非模态?

详细信息:我的文件对话框继承自 QFileDialog。它完全按预期工作。我唯一需要的是使其成为非模态的,但我在 SO 和 qt-project 上找不到解决方案。先感谢您。

4

1 回答 1

4

QDialog::open()“问题”是您通过调用函数将文件对话框作为模式窗口打开。根据 Qt 文档QDialog::open()

将对话框显示为窗口模式对话框,立即返回。

要使文件对话框非模态,只需使用QDialog::show().

于 2014-06-18T07:55:15.823 回答