如何使QFileDialog在QT5不是模态?(How to make QFileDialog no

2019-10-20 07:21发布

在Qt的早期版本中,我们能够使用下列文件对话框的构造函数:

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

因此,它看起来就像是可能使非模态文件对话框。 但现在(在QT5)我们在构造函数中没有这样的参数。 也QFileDialog忽略setWindowModality(Qt::NonModal);setModal(false); (我检查,如果windowModality() == Qt::NonModal && isModal() == false ,文件对话框窗口依然模式)。

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

详细信息:我从QFileDialog继承文件对话框。 它的工作原理完全符合市场预期。 我唯一需要的是让非模态,但我不能在SO和QT项目找到解决方案。 先感谢您。

Answer 1:

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

显示对话框,一个窗口模式对话框,立即返回。

为了使文件对话框非模态简单地打开QDialog::show()



文章来源: How to make QFileDialog not modal in Qt5?