Можно ли использовать диалог "Открыть файл" для выбора папки?
Диалог "Обзор папки" Windows очень неудобен, потому что:
- у него нет поля Path, в котором я могу вставить путь, который я хочу (например, из Total Commander)
- он всегда начинается с рабочего стола со всем закрытым
Есть ли способ использовать диалог "Открыть файл" (что намного лучше), чтобы выбрать папку? Какой-то флаг или опция или что-то еще?
Контекст: calibre eLibrary manager, который написан на Python и Qt.
В настоящее время отображается как слева. Я бы хотел, чтобы он отображался как справа
![BrowserFileDialog]()
или даже лучше, в качестве диалогового окна "Открыть файл":
![OpenFileDialog]()
Ответы
Ответ 1
Вы можете попробовать следующее:
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);
Ответ 2
Вы можете установить режим файла в QFileDialog
на QFileDialog::Directory
см. http://qt-project.org/doc/qt-5.0/qtwidgets/qfiledialog.html#FileMode-enum
Или Вы можете использовать QFileDialog::setOption
со значением QFileDialog::ShowDirsOnly