web-dev-qa-db-ja.com

[ファイルを開く]ダイアログを使用してフォルダを選択できますか?

[フォルダの参照] Windowsダイアログは、次の理由で非常に不便です。

  • 必要なパスを貼り付けることができるパスボックスはありません(例:Total Commanderから)
  • 常にデスクトップから始まり、すべてが閉じられます

「ファイルを開く」ダイアログを使用して(はるかに優れている)フォルダを選択する方法はありますか?いくつかのフラグまたはオプションまたは何か?

コンテキスト: calibre eLibrary manager Python and Qt。

現在、左のように表示されます。右のように表示したい BrowserFileDialog

またはさらに良い、ファイルを開くダイアログとして: OpenFileDialog

59

これを試すことができます:

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);
87
liuyanghejerry

QFileDialogのファイルモードをQFileDialog::Directoryに設定できます

http://qt-project.org/doc/qt-5.0/qtwidgets/qfiledialog.html#FileMode-enum を参照してください

または、QFileDialog::setOptionを値QFileDialog::ShowDirsOnlyで使用できます

22
Ranjith