web-dev-qa-db-fra.com

Comment obtenir que les applications Qt5 utilisent le thème GTK dans Ubuntu 17.04?

Depuis que j'ai mis à jour Ubuntu 17.04, les applications Qt5 (telles que Qt Creator) n'utilisent plus le thème GTK. J'ai essayé de changer cela en utilisant qt5ct, mais il n'a que les styles Fusion et Windows disponible, même si le paquet qt5-gtk-platformtheme est installé.

Comment cela peut-il être corrigé?

Edit: J'utilise Unity.

8
Philipp Ludwig

L’apparence des applications Qt5 est déterminée par les thèmes et les styles de plate-forme. Le thème de la plate-forme est responsable des icônes, des polices, etc., et le style contrôle le rendu des widgets. Je pense que votre application telle que Qt Creator utilise le thème de la plate-forme GTK3 en standard.

Le problème est survenu depuis Qt5.7. Dans cette version, le thème et le style de la plate-forme GTK2 ont été supprimés et remplacés par le thème de la plate-forme GTK3. J'ai récemment discuté avec les développeurs Qt et il semble qu'il n'y ait pas de style GTK3 pour compléter le thème de la plate-forme et qu'il n'est actuellement pas prévu de l'implémenter à l'avenir. Par conséquent, sur Ubuntu, le style par défaut est "Fusion" en utilisant le thème de la plate-forme GTK3.

Il existe plusieurs méthodes pour ajouter un style natif comme suit:

  1. L'ancien thème et style de la plate-forme GTK2 est toujours disponible dans un package séparé appelé qtstyleplugins qui peut être téléchargé ici . Malheureusement, le style GTK2 n'est pas compatible avec le thème de la plate-forme GTK3. Si vous souhaitez utiliser le style GTK2, vous devrez utiliser le thème de la plate-forme GTK2. Cela signifiera que vos dialogues, etc., n'auront pas l'air natif dans Ubuntu 17.04. Cependant, vous préférerez peut-être "Fusion".
  2. Vous n'avez pas indiqué quel environnement de bureau vous utilisez. Il existe un thème et un style de plate-forme tierce appelé QGnomePlatform available here et adwaita-qt available here . Cela donne une apparence entièrement native lors de l'utilisation d'Ubuntu Gnome.

Pour Qt Creator, je ne suis pas sûr à 100% s'il utilise des emplacements de thème/style globaux. Vous devrez peut-être les installer dans {Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\platformthemes\ et {Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\styles\.

6
gsxruk

En plus de qt5ct, vous devez également installer le paquetage qt5-style-plugins. Dans ce cas, vous devriez obtenir le thème 'gtk2' dans qt5ct.

Sudo apt-get install qt5-style-plugins

Et, comme indiqué dans le documentation qt5ct , n'oubliez pas de définir QT_QPA_PLATFORMTHEME=qt5ct dans /etc/X11/Xsession.d/56xubuntu-session et/ou /etc/environment

3
Gyll