可以使用“打开文件”对话框选择文件夹吗?

时间:2010-10-15 11:49:04

标签: qt openfiledialog

“浏览文件夹”Windows对话框非常不方便,因为:

  • 它没有路径框我可以粘贴我想要的路径(例如来自Total Commander)
  • 它总是从桌面开始,一切都关闭

有没有办法使用“打开文件”对话框(更好)选择文件夹?一些旗帜或选项还是什么?

上下文:使用Python和Qt编写的calibre eLibrary manager

目前显示在左侧。我希望它显示在右侧 BrowserFileDialog

甚至更好,作为“打开文件”对话框: OpenFileDialog

2 个答案:

答案 0 :(得分:83)

你可以尝试这个:

QString QFileDialog::getExistingDirectory ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), Options options = ShowDirsOnly ) [static]

这个用于选择一个目录,并会弹出一个像你最后显示的对话框。

演示:

 QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
                                             "/home",
                                             QFileDialog::ShowDirsOnly
                                             | QFileDialog::DontResolveSymlinks);

答案 1 :(得分:22)

您可以将QFileDialog中的文件模式设置为QFileDialog::Directory

请参阅http://qt-project.org/doc/qt-5.0/qtwidgets/qfiledialog.html#FileMode-enum

或者您可以QFileDialog::setOption使用值QFileDialog::ShowDirsOnly