限制文件对话框文件夹



我在Linux上的Qt应用程序中使用QtQuick Dialogs 1.2,我想将我的FileDialog限制为我指定的两个路径。我的文件对话框是这样的:

FileDialog {
    id: fileDialogExample
    title: qsTr("File Dialog example")
    nameFilters: [qsTr("Image files %1").arg("(*.jpg *.png)")]
    folder: '/home/user/Downloads'
}

我希望我的文件对话框只接受 jpg/png 文件并从指定的路径开始,但只能移动到/mnt。Qt Dialogs 1.2中的库存FileDialog可以做到这一点吗?

文档没有提到允许特定目录。我在类似情况下所做的是这样的:

FileDialog {
    onFolderChanged: {
        if (/* folder not allowed */)
            folder = /* closest allowed dir */  // does not do anything with stock FileDialog
    }
}

不幸的是,这不适用于股票FileDialog。我一直在使用自定义组件,并且可以完全控制它。我认为用当前的FileDialog不可能做你需要的事情.当然,当用户打开不需要的文件夹时,您可以关闭对话框,然后使用正确的路径重新打开它,但我不建议这样做。

最新更新