使用方法/命令:
OpenCreateDirectory()
{
QString Directory = QFileDialog::getExistingDirectory(this,
tr("Choose Or Create Directory"),
"/home",
QFileDialog::DontResolveSymlinks);
}
我可以创建一个新目录或选择一个现有目录。有没有办法禁用创建新目录的可能性?另外,有没有办法禁用选择现有目录的可能性?
更确切地说:当我使用上面的方法时,会弹出一个窗口,我可以在其中创建新目录或打开现有目录。我想要做的是限制方法,这样我就可以创建一个新的目录,而不能只打开一个现有的目录,或者在另一种情况下限制方法,这样我就可以打开一个现有的目录而不能创建一个新目录。
答案 0 :(得分:3)
是的,您可以在创建QFileDialog::ReadOnly
时添加选项QFileDialog
。
所以创建它:
QString Directory = QFileDialog::getExistingDirectory(this, tr("Choose Or Create Directory"),
"/home",
QFileDialog::DontResolveSymlinks | QFileDialog::ReadOnly);
文件对话框的“创建目录”按钮仍然存在,但您无法创建目录。我在Ubuntu上成功使用了这个功能。
答案 1 :(得分:3)
您可以使用以下选项阻止创建新目录:
QFileDialog::DontUseNativeDialog | QFileDialog::ReadOnly
| QFileDialog::ShowDirsOnly
如果使用本机对话框,则选项ReadOnly
没有任何影响,至少在Windows上如此。