Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 554
Vladimir Alexiev Avatar asked Oct 15 '10 11:10

Vladimir Alexiev


People also ask

What does Open File dialog mean?

OpenFileDialog component opens the Windows dialog box for browsing and selecting files. To open and read the selected files, you can use the OpenFileDialog. OpenFile method, or create an instance of the System.


2 Answers

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);
like image 85
liuyanghejerry Avatar answered Oct 17 '22 12:10

liuyanghejerry


You can set the file mode in QFileDialog to QFileDialog::Directory

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

Or You can use QFileDialog::setOption with value QFileDialog::ShowDirsOnly

like image 26
Ranjith Avatar answered Oct 17 '22 13:10

Ranjith