Подтвердить что ты не робот

Можно ли использовать диалог "Открыть файл" для выбора папки?

Диалог "Обзор папки" Windows очень неудобен, потому что:

  • у него нет поля Path, в котором я могу вставить путь, который я хочу (например, из Total Commander)
  • он всегда начинается с рабочего стола со всем закрытым

Есть ли способ использовать диалог "Открыть файл" (что намного лучше), чтобы выбрать папку? Какой-то флаг или опция или что-то еще?

Контекст: calibre eLibrary manager, который написан на Python и Qt.

В настоящее время отображается как слева. Я бы хотел, чтобы он отображался как справа BrowserFileDialog

или даже лучше, в качестве диалогового окна "Открыть файл": OpenFileDialog

4b9b3361

Ответ 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);