Comment puis-je faire en sorte que les applications Qt5 utilisent le thème GTK dans Ubuntu 17.04?

9

Depuis que j'ai mis à jour vers Ubuntu 17.04, les applications Qt5 (telles que Qt Creator) n'utiliseront plus le thème GTK. J'ai essayé de changer cela en utilisant qt5ct , mais il ne dispose que des styles Fusion et Windows , même si le package qt5-gtk-platformthemeest installé.

Comment résoudre ce problème?

Edit: j'utilise Unity.

Philipp Ludwig
la source

Réponses:

7

L'aspect et la convivialité des applications Qt5 sont déterminés par les thèmes et les styles de la plateforme. Le thème de la plateforme est responsable des icônes, des polices, etc. et le style contrôle le rendu des widgets. Je pense que vous trouverez que votre application telle que Qt Creator utilise le thème de la plateforme GTK3 en standard.

Le problème est survenu depuis Qt5.7. Dans cette version, le thème et le style de la plateforme GTK2 ont été supprimés et remplacés par le thème de la plateforme GTK3. J'ai récemment discuté avec les développeurs de Qt et il semble qu'il n'y ait pas de style GTK3 pour compléter le thème de la plate-forme et 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 plateforme GTK3.

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

  1. L'ancien thème et le style de la plateforme GTK2 sont toujours disponibles dans un package distinct appelé qtstylepluginsqui peut être téléchargé ici . Malheureusement, le style GTK2 n'est pas compatible avec le thème de la plateforme GTK3. Si vous souhaitez utiliser le style GTK2, vous devrez utiliser le thème de la plate-forme GTK2. Cela signifie que vos dialogues, etc. ne semblent pas natifs dans Ubuntu 17.04. Cependant, vous pouvez le préférer à "Fusion".
  2. Vous n'avez pas indiqué quel environnement de bureau vous utilisez. Il y a un thème de la plate - forme tierce partie et le style appelé QGnomePlatformdisponible ici et adwaita-qtdisponible ici . Cela fournit un aspect et une sensation entièrement natifs 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\.

gsxruk
la source
Merci pour l'explication détaillée. Cela ne me dérangerait pas autant de Fusion si le rendu des polices n'était pas si horrible. Y a-t-il un bug ouvert quelque part à ce sujet?
Philipp Ludwig
Les polices ne sont pas apparues médiocres d'après ce que j'ai vu sur mon système. Avez-vous une capture d'écran de cela?
gsxruk
J'ai téléchargé une capture d'écran ici: imgur.com/a/u34W6 À gauche est Qt Creator, à droite est une session vim dans gnome-terminal. Je suis d'accord que c'est très subtil, mais les polices Qt me semblent floues (ou floues?). Les deux applications sont définies sur Ubuntu Mono 12.
Philipp Ludwig
Je vois ce que tu veux dire, mais je suis d'accord que c'est subtil. Désolé, je ne sais pas quoi suggérer à ce sujet.
gsxruk
Au cas où vous seriez intéressé: j'ai eu de meilleurs résultats avec une infinité sur funtoo, mais pour autant que je sache, ce patchset n'est plus correctement entretenu. Quoi qu'il en soit, les polices sont beaucoup plus belles sur mon ordinateur portable, qui a un panneau IPS, alors peut-être que je dois juste mettre à jour mon écran de 7 ans sur mon bureau. Merci de votre aide!
Philipp Ludwig
5

En dehors de cela, qt5ctvous devez également installer le qt5-style-pluginspackage, alors vous devriez obtenir le thème 'gtk2' dans qt5ct

sudo apt-get install qt5-style-plugins

Et, selon la documentation qt5ct , ne pas oublier de mettre QT_QPA_PLATFORMTHEME=qt5ctdans /etc/X11/Xsession.d/56xubuntu-sessionet / ou/etc/environment

Gyll
la source
Cette réponse fonctionne pour moi, sans installation qt5ct.
DMT
oui, installer uniquement des plugins de style qt5 (c'est-à-dire sans qt5ct) fonctionne très bien pour styler qt5.7 + avec gtk2. qt5ct n'est nécessaire que si vous souhaitez également utiliser d'autres styles pour qt5.7 + que gtk2
Gyll
btw, étant fatigué et fatigué des incohérences sur mon bureau, j'ai fini par assembler un thème à moi, vous voudrez peut-être vérifier si les incohérences rendent vos noix: xfce-evolution.sourceforge.net
Gyll