我在Linux上的Qt应用程序中使用QtQuick Dialogs 1.2,我想将FileDialog限制为仅由我指定的两个路径。我的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有关吗?
答案 0 :(得分:0)
文档未提及允许特定目录。我在类似案例中做过的事情是这样的:
.checkbox label::before {
content: "";
display: inline-block;
position: absolute;
width: 17px;
height: 17px;
/* left: 0; */
margin-left: -20px;
border: 1px solid #cccccc;
border-radius: 3px;
background-color: #fff;
-webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
-o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
}
不幸的是,这不适用于库存FileDialog {
onFolderChanged: {
if (/* folder not allowed */)
folder = /* closest allowed dir */ // does not do anything with stock FileDialog
}
}
。我一直在使用自定义组件,我完全控制它。我认为用当前FileDialog
做你需要的东西是不可能的。当然,当用户打开不需要的文件夹然后用正确的路径重新打开它时,你可以关闭对话框,但我不推荐它。