我的应用程序中唯一的窗口是QQuickView
,它是QWindow
的子类,而不是QWidget
的子类,所以如果我想使用QFileDialog
来提供用户保存文件的选项,我不知道如何将其父项设置为QQuickView
。我知道QFileDialog
在没有父项的情况下可以正常工作,但如果它没有父项,则它不会以QQuickView
为中心。这本身并不是一个大问题,但在我的操作系统(Ubuntu 13.10)上,QFileDialog
有时没有父母QQuickView
出现在FileDialog
窗口下,用户只会看到一个“闪烁”的任务栏图标。 / p>
我使用Qt 5.2。我最初尝试在Qt Quick Dialogs模块中使用defaultSuffix
类型,但它没有我需要的某些功能(例如{{1}}属性)。
答案 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来正确地进行模态。
也许我可以在圣诞节期间写一篇博文。