QML 文件对话框(选择文件夹)

Posted

技术标签:

【中文标题】QML 文件对话框(选择文件夹)【英文标题】:QML FileDialog (selectFolder) 【发布时间】:2020-05-19 15:14:42 【问题描述】:

我正在做一个 QML / QT / C++ 应用程序(训练自己进行实习)。我需要打开FileDialog 以选择文件夹位置,但在写入selectFolder: true 行时出现错误。

我在这里找到了这个属性https://doc.qt.io/qt-5/qml-qtquick-dialogs-filedialog.html#selectFolder-prop

这很奇怪,因为我也不能设置 selectExistingselectMultiple

文档说我们必须在打开对话框之前指定这些。我这样做了,我不明白。

谁能帮我解决这个错误?

这是我在 main.qml 中导入的内容:import QtQuick.Dialogs 1.3

非常感谢。祝你有美好的一天。

代码如下:

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Dialogs 1.3


Window 
        id: mainWindow
        visible: true

        width: 700
        height: 500

        // FileDialog
        FileDialog 
            id: fileDialog
            title: "Please choose a file"
            folder: shortcuts.home
            selectFolder: true
            onAccepted: 
                console.log("You chose: " + fileDialog.fileUrls)
                //acceptDialog();
            
            onRejected: 
                console.log("rejected")
                //rejectDialog();
            
            Component.onCompleted: visible = true
        

这不是整个代码(+ 200 行) Image from Qt Creator

【问题讨论】:

向我们展示更多代码。 (FWIW,您实际上是在询问 QML,而不是直接询问 C++。如果您只使用 C++,答案会有所不同。) 对不起,我导入了一张图片,但它没有出现。我正在弄清楚如何在这里分享图像。我正在使用 QML 作为前端,但使用 C++ 作为后端 您应该将代码文本复制粘贴到问题中。粘贴图片的用处不大,因为如果我们想自己尝试一下,就需要重新输入。 完成了。我就是来看编辑按钮的 【参考方案1】:

对我来说,代码运行良好。 只需尝试删除然后重新放置该行。 有时 qml 会无缘无故地给你这些类型的错误。试着运行它。如有错误请贴出来

【讨论】:

我做了很多次,但我仍然得到像我发布的图片一样的错误,我不明白“这不是 Qt Creator 的整个代码(+ 200 行)图像”【参考方案2】:

我解决了这个问题。

我的 Qt 项目版本是 5.12,我用 Qt 5.14 创建了一个新项目,它工作正常。 谢谢。

【讨论】:

以上是关于QML 文件对话框(选择文件夹)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WebEngineView 中呈现的 html 文件中弹出文件对话框/打印对话框?

winform选择文件不显示对话框

android 有没有文件选择对话框

如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”

Windows--MFC选择文件对话框和选择文件夹对话框

java用swt 如何建立选择文件夹路径的对话框?