【发布时间】:2016-11-29 10:37:28
【问题描述】:
我创建了文件对话框来选择 Qt 应用程序中的文件。迁移到 Qt5 时,我遇到回归问题,当链接到 Qt5 而不是 Qt4 时,文件对话框要差得多:
Qt4
Qt5
例如,用户很难导航到网络安装的共享目录。
代码就这么简单:
QString path;
path = QFileDialog::getExistingDirectory(this, tr("Pick a file"));
QFileDialog::DontUseNativeDialog 不会改变任何东西。
我的操作系统是 Ubuntu 16.04,我安装了 nautilus (3.14.3) 和 nemo (2.8.7)。 nemo 配置为默认文件管理器:
xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search
其他所有应用程序似乎都使用与 Qt4 文件对话框截图相同的对话框。
如何在 Qt5 中获得“旧”文件对话框?
如果我尝试使用QT_QPA_PLATFORMTHEME= ./my_app,那么我会得到:
【问题讨论】:
-
不知何故,平台集成在 Qt 5 中不起作用。
DontUseNativeDialog选项不正确:Qt 4 似乎确实使用了本机对话框。也许 Qt 5 没有使用正确的平台集成插件构建,或者这样的集成插件还不存在。 -
或者,t 看起来您使用的是不支持 Gnome (GTK?) 文件对话框的 Qt 版本...
-
我正在使用来自 Ubuntu 存储库的 Qt5 二进制文件
标签: qt ubuntu qt5 ubuntu-16.04 qfiledialog