QTQuick(QML)中的FileDialog:以给定名称保存文件

Sim*_*rta 9 qt qfiledialog qml qt-quick qtquick2

我们正在构建一个Qt Quick应用程序,它必须能够以给定名称保存文件.

FileDialog组件中,您只能设置目录.这不是非常用户友好,因为您不希望每次下载文件时手动输入文件名.

到目前为止我们尝试过不同的东

  1. 来自QtQuick.Dialogs的FileDialog:无法设置filename

  2. 通过QPlatformFileDialogHelper进行原生对话(淘气私有c ++ hack):无法在Linux(Gnome)上设置文件名

  3. 通过静态QFileDialog :: getSaveFileName()的原生对话框:在快速应用程序中,'父'没有可用的QWidget

  4. QFileDialog实例的QT对话:由于未设置'parent',因此模态doeas不起作用.在快速应用程序中,没有可用于setParent()调用的QWidget

(使用带有QT 5.1和QtQuick 2.1的C++,包括所有桌面组件)

Sim*_*rta 5

这篇博客文章涵盖了整个问题,并提供了一种可能的解决方案: QML中的Advanced FileDialog(以给定名称保存文件)

  • 他使用了专用的QT标头,在升级QT时会中断 (2认同)