如何让 Qt5 应用程序在 Ubuntu 17.04 中使用 GTK 主题?

如何让 Qt5 应用程序在 Ubuntu 17.04 中使用 GTK 主题?

自从我更新到 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”。

有以下几种方法可以添加原生样式:

  1. 旧的 GTK2 平台主题和样式仍然可以在名为的单独包中找到,qtstyleplugins可以下载这里。遗憾的是,GTK2 样式与 GTK3 平台主题不兼容。如果您想使用 GTK2 样式,则必须使用 GTK2 平台主题。这意味着您的对话框等在 Ubuntu 17.04 中看起来并不原生。但是,您可能更喜欢它而不是“Fusion”。
  2. 你没有说明你使用的是什么桌面环境。有一个名为QGnomePlatformavailable 的第三方平台主题和样式这里并且adwaita-qt可用这里. 这在使用 Ubuntu Gnome 时提供了完全原生的外观和感觉。

对于 Qt Creator,我不确定它是否使用全局主题/样式位置。您可能必须将它们安装在{Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\platformthemes\和中{Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\styles\

相关内容