可以使用“打开文件”对话框选择文件夹吗?

发布于 2024-09-27 06:52:14 字数 483 浏览 2 评论 0原文

“浏览文件夹”Windows 对话框非常不方便,因为:

  • 它没有路径框,我可以在其中粘贴我想要的路径(例如,从 Total Commander)
  • 它总是从桌面开始,所有内容都关闭

有没有办法使用“打开”文件”对话框(这更好)来选择文件夹?一些标志或选项什么的?

上下文:calibre eLibrary 管理器,用 Python 和 Qt 编写。

它当前显示如左侧。我希望它显示为右侧 BrowserFileDialog

甚至更好,如“打开文件”对话框: OpenFileDialog

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

池木 2024-10-04 06:52:14

你可以试试这个:

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

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);
暖树树初阳… 2024-10-04 06:52:14

您可以将QFileDialog中的文件模式设置为QFileDialog::Directory

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

或者您可以使用 QFileDialog::setOption 值为 QFileDialog::ShowDirsOnly

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文