qt - QTQuick (QML) 中的 FileDialog : Save file under given name

标签 qt qml qt-quick qtquick2 qfiledialog

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

FileDialog组件你只能设置一个目录。这对用户不是很友好,因为您不想每次下载文件时都手动输入文件名。

到目前为止,我们尝试了不同的东西

  • QtQuick.Dialogs 中的 FileDialog:无法设置文件名
  • 通过 QPlatformFileDialogHelper (naughty private c++ hack) 进行 native 对话:无法在 Linux (Gnome) 上设置文件名
  • 通过静态 QFileDialog::getSaveFileName() 的 native 对话框:在快速应用程序中没有可用于“父级”的 QWidget
  • 通过 QFileDialog 实例的 QT 对话框:模式不起作用,因为未设置“父级”。在 Quick 应用程序中,没有可用于 setParent() 调用的 QWidget

  • (将 C++ 与 QT 5.1 和 QtQuick 2.1 一起使用,包括所有桌面组件)

    最佳答案

    这篇博文涵盖了整个问题并提供了一个可能的解决方案:
    Advanced FileDialog in QML (Save file under given name) (安息吧库洛博客)
    实现该解决方案的存储库在这里:https://github.com/kullo/qml-file-dialog-demo

    关于qt - QTQuick (QML) 中的 FileDialog : Save file under given name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20302838/

    相关文章:

    c++ - 从 QByteArray 加载 QQuickView

    qt - 如何在 Qt 中找到屏幕/桌面尺寸,以便显示桌面通知?

    qt - Apple Retina Display 上的 QGraphicsItem 渲染

    qt - 明确设置值时抑制 Qt 信号的正确方法是什么

    c++ - 为什么 Qt 使用自己的 make 工具 qmake?

    c++ - 从 plasmoid qml 调用 c++ 槽

    qt - 从 QML 生成 KeyEvent

    c++ - 单击时 QML 更改 View

    qt - 可以从 Javascript 调用对象吗

    qt - 桌面程序的“传统 Qt”或 'Qt Quick'?