让 Qt5 应用程序在 Ubuntu 或 Debian 中使用原生 Gtk+ 风格

某些 Qt5 应用程序在 Gnome 中默认不使用 Gtk+ 样式(例如在 Ubuntu 18.04 中),这使得它们看起来不合适。 这包括应用程序,如 VirtualBox、VLC、qBittorrent、Simple Screen Recoder、ownCloud桌面客户端等等。

本文解释了如何解决这个问题并让 Qt5 应用程序在 Debian 或 Ubuntu(以及使用 Gnome 桌面的基于 Ubuntu 的 Linux 发行版,如 Pop!_OS)中使用 Gtk+ 2 样式。

[[Edit] 对于全新的 Ubuntu 20.04 和 19.10 安装(如果您从旧 Ubuntu 升级,则不会发生这种情况),使用 QT_QPA_PLATFORMTHEME=gtk2 会大大降低启动 Qt5 应用程序的速度,所以不要使用它。 改用 Kvantum,它没有这个问题,它还允许您选择用于 Qt5 应用程序的主题。

VLC 和 VirtualBox 在 Ubuntu 18.04 上使用本文中的调整之前和之后:

  • 前:
  • 后:

VirtualBox  qt5 gtk+ 风格的 Ubuntu 18.04

vlc qt5 gtk+ 风格 Ubuntu 18.04

相关:使用 Kvantum 在 Linux 上为 Qt 应用程序使用自定义主题

要解决此问题并让 Qt5 应用程序使用 Gtk+ 样式,您所要做的就是按照以下简单步骤操作。

1.安装 qt5-style-plugins,一个包含 Cleanlooks、Motif、Plastique 和 Gtk+ 2 Qt5 样式的包。

sudo apt install qt5-style-plugins

2.通过添加设置Qt5应用程序使用Gtk+ 2风格 QT_QPA_PLATFORMTHEME=gtk2 给你的 ~/.profile.
要使用简单的命令执行此操作,请运行以下命令:

echo " QT_QPA_PLATFORMTHEME=gtk2" >> ~/.profile

3. 安装此软件包后注销。

重新登录后,qBittorrent、VLC 或 Virtualbox 等 Qt5 应用程序应在 Debian 或 Ubuntu(以及基于 Ubuntu 的 Pop!_OS)中的 Gnome 桌面上使用 Gtk+ 样式。

需要注意的是,这解决了通过 apt/deb 安装的应用程序的问题。
此调整不适用于使用 Snap、Flatpak 或 AppImage 包安装的应用程序。
至少在我的 Ubuntu 18.04 桌面上是这样。