我在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
不可能做你需要的事情.当然,当用户打开不需要的文件夹时,您可以关闭对话框,然后使用正确的路径重新打开它,但我不建议这样做。