我使用QFileDialog
作为
filename = QFileDialog::getExistingDirectory(this,"Select Image File: ",dataDir,0);
我希望在选择之前我可以检查文件夹中的文件。函数getExistingDirectory()
将QFileDialog::ShowDirsOnly
设置为默认选项。我检查了文档,没有任何选项与此相反。所以我设置了最后一个参数0.但现在它没有使用原生对话框。我想使用本机对话框。我不知道如何做到这一点导致在UseNativeDialog的选项中找不到任何标志。请帮忙。
答案 0 :(得分:1)
尝试自己创建文件对话框,例如:
QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::Directory);
dialog.setViewMode(QFileDialog::Detail);
dialog.setDirectory(datadir);
dialog.exec();
答案 1 :(得分:1)
Sebastian的代码应该创建一个原生对话框,除非你创建一个如下的行:
dialog.setOption(QFileDialog::DontUseNativeDialog, true);
但是,我无法在Windows下使用它,即使文档说默认情况下QFileDialog::Directory
选项应该显示文件。不仅如此,还在做:
qDebug() << dir_selector.testOption(QFileDialog::ShowDirsOnly);
在我的系统上显示false,表示某处可能存在错误。