Qt怎样才能显示标准的浏览目录的对话框?

发布于 2022-09-03 08:19:28 字数 596 浏览 32 评论 0

C#等可以显示这样的标准对话框:
选择目录
但是Qt的QFileDialog无论是使用

FileDialog->setFileMode(QFileDialog::Directory);
FileDialog->setOption(QFileDialog::ShowDirsOnly, true);

还是

QFileDialog::getExistingDirectory()

都是显示这种对话框:
选择文件夹

难道Qt本身不支持标准的“选择目录”对话框?如果这样,有没有办法让Qt显示标准的“选择目录”对话框?(至少在Windows平台)

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

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

发布评论

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

评论(2

过期以后 2022-09-10 08:19:28

你用xp兼容模式下运行试一试

黑寡妇 2022-09-10 08:19:28

的确不行,都试过了。

在Windows下,我用QT5/混合WTL解决。

#pragma comment(lib,"User32.lib")
#pragma comment(lib,"Gdi32.lib")
#pragma comment(lib,"Comdlg32.lib")

#ifdef Q_OS_WIN
#include <atlbase.h>
#include <atlapp.h>
#include <atlgdi.h>
#include <atldlgs.h>
#endif

QString strDir
    CFolderDialog fldDlg ( NULL, _T("Select a dir"),
                           BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGSTYLE );


      if ( IDOK == fldDlg.DoModal() )
          strDir = QString::fromUtf16((ushort *)fldDlg.m_szFolderPath);
          qDebug() << "Dir:" << strDir;

反正WTL在Windows下,根本不占用空间,毫无影响。

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