can the Open File dialog be used to select a Folder?

Vladimir Alexiev picture Vladimir Alexiev · Oct 15, 2010 · Viewed 91.1k times · Source

The "Browse For Folder" Windows dialog is very inconvenient because:

  • it has no Path box where I can paste the path I want (eg from Total Commander)
  • it always starts from the Desktop with everything closed

Is there a way to use the "Open File" dialog (which is much better) to select a Folder? Some flag or option or something?

Context: the calibre eLibrary manager which is written in Python and Qt.

It currently displays as on the left. I'd like it to display as on the right BrowserFileDialog

or even better, as the Open File dialog: OpenFileDialog

Answer

liuyanghejerry picture liuyanghejerry · May 16, 2012

You can try this one:

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

This one is used to choose a directory, and will popup a dialog like you show at last.

Demo:

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