我有一个QFileDialog对象,需要用户在其中选择一个目录
QFileDialog dlg(this, tr("Select directory"));
dlg.setDirectory(currentDir);
dlg.setFileMode(QFileDialog::Directory);
dlg.setOptions(QFileDialog::ShowDirsOnly | QFileDialog::ReadOnly);例如,我的文件夹结构是
<root>
<dir1>
<dir2>当currentDir为<root>/dir1时,我希望对话框指向<root>目录,并在对话框中选择dir1 (不仅以文本形式,而且类似于您单击它时)
这是可能的吗?如何实现?
/edit:我试过了
dlg.setDirectory("<root>");
dlg.selectFile("dir1");这会导致对话框设置正确的目录并填充filename行编辑,但不会在文件列表中选择它(但当有许多相似的目录名称时,这是非常必要的)。
干杯
发布于 2016-07-22 17:01:20
selectFile()应该可以做到这一点:
QFileDialog dlg(this, tr("Select directory"));
if(currentDir == "<root>/dir1") {
dlg.selectFile(currentDir);
}
else {
dlg.setDirectory(currentDir);
}
dlg.setFileMode(QFileDialog::Directory);
dlg.setOptions(QFileDialog::ShowDirsOnly | QFileDialog::ReadOnly);https://stackoverflow.com/questions/38521705
复制相似问题