Qt 应用程序停止继承 GTK 主题

Qt 应用程序停止继承 GTK 主题

在全新安装 Ubuntu Gnome 15.10 后,Qt 应用程序如下qpdfview或者相当RSS就我的情况而言,突然停止继承全局 GTK 主题纽密克斯。默认的 Adwaita 主题也是如此,所以很可能不是主题的问题。似乎这些应用程序总是使用 Cleanlooks Qt 主题,而不管当前的 GTK 主题是什么。

在以前安装的 Ubuntu Gnome 中我从未遇到过任何主题问题。

安装qt4-qtconfig和使用不同的设置(GUI 样式:默认、干净外观或 gtk+)对这些应用程序没有任何影响。

奇怪的是,qt4-qtconfig应用程序本身的主题设置得当。因此,在选择其他主题(例如“桌面设置(默认)”或“windows”)后,此应用程序的主题会发生变化,但不会在qpdfview或中改变QuiteRSS。安装技巧libgnomeui-0(提到这里) 也没什么帮助。

有没有人遇到过同样的情况并且知道解决方法?

答案1

在 Ubuntu 17.10 上,Qt4 应用程序确实继承了全局 GTK 主题,而 Qt5 则没有。由于libqt5libqgtk2在官方 Ubuntu 存储库中不再可用,我们必须使用另一种解决方法:

qt5-style-plugins使用从 Ubuntu 存储库安装sudo apt install qt5-style-plugins

然后添加到export QT_QPA_PLATFORMTHEME=gtk2。这将为所有以用户身份启动的应用程序设置主题。~/.profileecho "export QT_QPA_PLATFORMTHEME=gtk2" >> ~/.profile

如果您希望在整个系统范围内应用主题(针对用户和根应用程序),那么使用sudo sh -c "echo 'export QT_QPA_PLATFORMTHEME=gtk2' >> /etc/environment"

对于 Ubuntu 20.04 – 20.10,您必须sudo apt install appmenu-gtk2-module,以便 qt 应用程序不会延迟启动。在 Ubuntu 21.04 中,您无需再安装appmenu-gtk2-module任何内容。

我更喜欢这种方法而不是使用克万图姆,因为使用此方法,root 应用程序也会得到正确的主题,并且您不必在 kvantum 管理器中调整主题以匹配您的 gtk 主题。

重启并享受!

相关内容