Wie kann ich Qt5-Anwendungen dazu bringen, das GTK-Thema in Ubuntu 17.04 zu verwenden?


9

Seit ich auf Ubuntu 17.04 aktualisiert habe, verwenden Qt5-Anwendungen (wie Qt Creator) das GTK-Thema nicht mehr. Ich habe versucht, dies mit qt5ct zu ändern , aber es sind nur die Stile Fusion und Windows verfügbar, obwohl das Paket qt5-gtk-platformthemeinstalliert ist.

Wie kann das behoben werden?

Edit: Ich benutze Unity.

Antworten:


7

Das Erscheinungsbild von Qt5-Anwendungen wird durch Plattformthemen und -stile bestimmt. Das Plattformthema ist für Symbole, Schriftarten usw. verantwortlich, und der Stil steuert, wie Widgets gerendert werden. Ich denke, Sie werden feststellen, dass Ihre Anwendung wie Qt Creator standardmäßig das GTK3-Plattformthema verwendet.

Das Problem ist seit Qt5.7 aufgetreten. In dieser Version wurde das Thema und der Stil der GTK2-Plattform entfernt und durch das Thema der GTK3-Plattform ersetzt. Ich habe kürzlich mit den Qt-Entwicklern diskutiert und es scheint, dass es keinen GTK3-Stil gibt, der das Plattformthema ergänzt, und es gibt derzeit keine Pläne, dies in Zukunft zu implementieren. Unter Ubuntu lautet der Standardstil daher "Fusion" unter Verwendung des GTK3-Plattformthemas.

Es gibt verschiedene Methoden, um einen nativen Stil wie folgt hinzuzufügen:

  1. Das alte Thema und der Stil der GTK2-Plattform sind weiterhin in einem separaten Paket namens erhältlich qtstyleplugins, das hier heruntergeladen werden kann . Leider ist der GTK2-Stil nicht mit dem GTK3-Plattformthema kompatibel. Wenn Sie den GTK2-Stil verwenden möchten, müssen Sie das GTK2-Plattformthema verwenden. Dies bedeutet, dass Ihre Dialoge usw. in Ubuntu 17.04 nicht nativ aussehen. Sie können es jedoch "Fusion" vorziehen.
  2. Sie haben nicht angegeben, welche Desktop-Umgebung Sie verwenden. Es gibt ein Plattformthema und einen Stil von Drittanbietern, QGnomePlatformdie hier und hieradwaita-qt verfügbar sind . Dies bietet ein vollständig natives Erscheinungsbild bei Verwendung von Ubuntu Gnome.

Für Qt Creator bin ich nicht 100% sicher, ob globale Themen- / Stilpositionen verwendet werden. Möglicherweise müssen Sie sie in {Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\platformthemes\und installieren {Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\styles\.


Danke für die ausführliche Erklärung. Ich hätte nichts gegen Fusion, wenn das Rendern von Schriftarten nicht so schrecklich wäre. Gibt es irgendwo einen offenen Fehler?
Philipp Ludwig

Die Schriftarten sind nach dem, was ich auf meinem System gesehen habe, nicht schlecht erschienen. Hast du einen Screenshot davon?
gsxruk

Ich habe hier einen Screenshot hochgeladen: imgur.com/a/u34W6 Links ist Qt Creator, rechts ist eine Vim-Sitzung im Gnome-Terminal. Ich bin damit einverstanden, dass dies sehr subtil ist, aber die Qt-Schriftarten fühlen sich für mich nur verschwommen (oder verschwommener?) An. Beide Anwendungen sind auf Ubuntu Mono 12 eingestellt.
Philipp Ludwig

Ich verstehe, was du meinst, aber ich stimme zu, dass es subtil ist. Entschuldigung, ich weiß nicht, was ich dazu vorschlagen soll.
gsxruk

Falls Sie interessiert sind: Ich habe auf funtoo bessere Ergebnisse mit Unendlichkeit erzielt, aber soweit ich weiß, wird dieses Patchset nicht mehr ordnungsgemäß gewartet. Auf jeden Fall sehen die Schriftarten auf meinem Laptop mit IPS-Panel viel besser aus. Vielleicht muss ich nur mein 7 Jahre altes Display auf meinem Desktop aktualisieren. Danke für Ihre Hilfe!
Philipp Ludwig

5

Abgesehen davon, dass qt5ctSie auch das qt5-style-pluginsPaket installieren müssen , sollten Sie das 'gtk2'-Theme in qt5ct erhalten

sudo apt-get install qt5-style-plugins

Und gemäß der qt5ct Dokumentation , vergessen Sie nicht zu setzen QT_QPA_PLATFORMTHEME=qt5ctin /etc/X11/Xsession.d/56xubuntu-sessionund / oder/etc/environment


Diese Antwort funktioniert bei mir ohne Installation qt5ct.
DMT

Ja, die Installation von nur qt5-Plugins (dh ohne qt5ct) funktioniert einwandfrei für das Styling von qt5.7 + mit gtk2. qt5ct wird nur benötigt, wenn Sie auch andere Stile für qt5.7 + als gtk2
Gyll

Übrigens, weil ich es satt habe, Inkonsistenzen auf meinem Desktop zu haben, habe ich schließlich ein eigenes Thema zusammengestellt. Vielleicht möchten Sie es überprüfen, wenn Inkonsistenzen Ihre Nüsse treiben: xfce-evolution.sourceforge.net
Gyll
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.