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


9

自从我更新到Ubuntu 17.04以来,Qt5应用程序(例如Qt Creator)将不再使用GTK主题。我尝试使用qt5ct更改此设置,但即使安装了软件包,它也只有FusionWindows可用的样式qt5-gtk-platformtheme

如何解决?

编辑:我正在使用Unity。

Answers:


7

Qt5应用程序的外观由平台主题和样式决定。平台主题负责图标,字体等,而样式则控制小部件的呈现方式。我想您会发现您的应用程序(例如Qt Creator)使用GTK3平台主题作为标准。

从Qt5.7开始出现此问题。在此版本中,GTK2平台主题和样式已删除,并由GTK3平台主题取代。我最近一直在与Qt开发人员进行讨论,似乎没有GTK3样式可以补充平台主题,并且目前还没有计划在将来实现。因此,在Ubuntu上,使用GTK3平台主题的默认样式为“融合”。

有两种添加本机样式的方法,如下所示:

  1. 旧的GTK2平台主题和样式仍然在单独的软件包中提供qtstyleplugins,可以在此处下载。不幸的是,GTK2样式与GTK3平台主题不兼容。如果要使用GTK2样式,则必须使用GTK2平台主题。这意味着您的对话框等在Ubuntu 17.04中看起来不是本地的。但是,您可能更喜欢“ Fusion”。
  2. 您没有说明正在使用什么桌面环境。有一个第三方平台的主题和风格被称为QGnomePlatform这里adwaita-qt可用在这里。使用Ubuntu Gnome时,这提供了完全本机的外观。

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


感谢您的详细解释。如果字体渲染不那么恐怖,我也不会介意Fusion。关于此的地方是否存在未解决的错误?
菲利普·路德维希

从我在系统上看到的字体来看,字体看起来还不错。你有截图吗?
gsxruk '17

我在这里上传了屏幕截图:imgur.com/a/u34W6左边是Qt Creator,右边是gnome-terminal中的vim会话。我同意这是非常微妙的,但是Qt字体对我来说只是模糊(或模糊?)。这两个应用程序都设置为Ubuntu的单声道12
菲利普·路德维希

我明白您的意思,但我同意这很微妙。抱歉,不知道该建议什么。
gsxruk

如果您有兴趣,我对funtoo的无限性有更好的结果,但是据我所知,此补丁集已不再正确维护。无论如何,在带有IPS面板的笔记本电脑上,字体看起来要好得多,所以也许我只需要升级台式机上已有7年历史的显示器即可。谢谢你的帮助!
菲利普·路德维希

5

除了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


答案对我有效,无需安装qt5ct
DMT

是的,仅安装qt5-style-plugins(即不带qt5ct)对于使用gtk2设置qt5.7 +样式就可以了。仅当您还想为gtk2使用其他样式而不是gtk2时,才需要qt5ct
Gyll

顺便说一句,由于厌倦了桌面上的不一致,我最终总结了一个自己的主题,您可能想检查一下不一致是否使您发疯:xfce-evolution.sourceforge.net
Gyll
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.