自从我更新到 Ubuntu 17.04 后,Qt5 应用程序(例如 Qt Creator)将不再使用 GTK 主题。我尝试使用qt5ct,但它只有样式融合和视窗可用,即使包qt5-gtk-platformtheme
已经安装。
如何修复此问题?
编辑:我正在使用 Unity。
答案1
除此之外,qt5ct
您还需要安装qt5-style-plugins
软件包,然后您应该在 qt5ct 中获得“gtk2”主题
sudo apt-get install qt5-style-plugins
并且,根据qt5ct 文档,不要忘记设置QT_QPA_PLATFORMTHEME=qt5ct
和/etc/X11/Xsession.d/56xubuntu-session
/或/etc/environment
答案2
Qt5 应用程序的外观和感觉由平台主题和样式决定。平台主题负责图标、字体等,样式控制小部件的呈现方式。我认为您会发现您的应用程序(例如 Qt Creator)使用 GTK3 平台主题作为标准。
该问题自 Qt5.7 开始出现。在此版本中,GTK2 平台主题和样式被删除,并替换为 GTK3 平台主题。我最近一直在与 Qt 开发人员讨论,似乎没有 GTK3 样式来补充平台主题,目前也没有计划在未来实现这一点。因此,在 Ubuntu 上,默认样式是使用 GTK3 平台主题的“Fusion”。
有以下几种方法可以添加原生样式:
- 旧的 GTK2 平台主题和样式仍然可以在名为的单独包中找到,
qtstyleplugins
可以下载这里。遗憾的是,GTK2 样式与 GTK3 平台主题不兼容。如果您想使用 GTK2 样式,则必须使用 GTK2 平台主题。这意味着您的对话框等在 Ubuntu 17.04 中看起来并不原生。但是,您可能更喜欢它而不是“Fusion”。 - 你没有说明你使用的是什么桌面环境。有一个名为
QGnomePlatform
available 的第三方平台主题和样式这里并且adwaita-qt
可用这里. 这在使用 Ubuntu Gnome 时提供了完全原生的外观和感觉。
对于 Qt Creator,我不确定它是否使用全局主题/样式位置。您可能必须将它们安装在{Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\platformthemes\
和中{Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\styles\
。