如何将QFileDialog的父级设置为QQuickView

时间:2013-12-23 12:17:48

标签: qt qml qt-quick qtquick2 qfiledialog

我的应用程序中唯一的窗口是QQuickView,它是QWindow的子类,而不是QWidget的子类,所以如果我想使用QFileDialog来提供用户保存文件的选项,我不知道如何将其父项设置为QQuickView。我知道QFileDialog在没有父项的情况下可以正常工作,但如果它没有父项,则它不会以QQuickView为中心。这本身并不是一个大问题,但在我的操作系统(Ubuntu 13.10)上,QFileDialog有时没有父母QQuickView出现在FileDialog窗口下,用户只会看到一个“闪烁”的任务栏图标。 / p>

我使用Qt 5.2。我最初尝试在Qt Quick Dialogs模块中使用defaultSuffix类型,但它没有我需要的某些功能(例如{{1}}属性)。

2 个答案:

答案 0 :(得分:2)

您可能想查看此博文,我试图解决整个问题并提供解决方案: http://kullo.net/blog/advanced-filedialog-in-qml/

答案 1 :(得分:0)

是的,这是一个严重的QML问题。您无法使用QFileDialog,因为您没有QWidget应用,FileDialog缺少一些关键功能。

请参阅:FileDialog in QTQuick (QML): Save file under given name

目前我们正在使用Qt源代码中的深层代码,而不是公共API。它只需要一个Window而不是一个Widget来正确地进行模态。

也许我可以在圣诞节期间写一篇博文。