Qt5アプリケーションでUbuntu 17.04のGTKテーマを使用するにはどうすればよいですか?


9

Ubuntu 17.04にアップデートしてから、Qt5アプリケーション(Qt Creatorなど)はGTKテーマを使用しなくなります。qt5ctを使用してこれを変更しようとしましたが、パッケージがインストールされていても、FusionおよびWindowsのスタイルしか使用できませんqt5-gtk-platformtheme

これをどのように修正できますか?

編集:私はUnityを使用しています。

回答:


7

Qt5アプリケーションのルックアンドフィールは、プラットフォームのテーマとスタイルによって決まります。プラットフォームのテーマはアイコンやフォントなどを担当し、スタイルはウィジェットのレンダリング方法を制御します。Qt CreatorなどのアプリケーションがGTK3プラットフォームテーマを標準で使用していることがわかると思います。

この問題はQt5.7以降に発生しています。このリリースでは、GTK2プラットフォームのテーマとスタイルが削除され、GTK3プラットフォームのテーマに置き換えられました。私は最近Qt開発者と話し合っており、プラットフォームのテーマを補完するGTK3スタイルがないようで、現在これを将来実装する予定はありません。したがって、Ubuntuでは、デフォルトのスタイルはGTK3プラットフォームテーマを使用した「Fusion」です。

ネイティブスタイルを追加するには、次の2つの方法があります。

  1. 古いGTK2プラットフォームのテーマとスタイルは、ここからqtstylepluginsダウンロードできるという別のパッケージで引き続き利用できます。残念ながら、GTK2スタイルはGTK3プラットフォームのテーマと互換性がありません。GTK2スタイルを使用する場合は、GTK2プラットフォームテーマを使用する必要があります。これは、ダイアログなどがUbuntu 17.04でネイティブに見えないことを意味します。ただし、「Fusion」より優先する場合があります。
  2. 使用しているデスクトップ環境を明記していません。サードパーティのプラットフォームのテーマとスタイルがQGnomePlatformあり、ここadwaita-qt利用できます。これにより、Ubuntu Gnomeを使用するときに完全にネイティブなルックアンドフィールが提供されます。

Qt Creatorの場合、グローバルなテーマ/スタイルの場所を使用しているかどうかは100%わかりません。{Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\platformthemes\およびにインストールする必要がある場合があり{Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\styles\ます。


詳しい説明ありがとうございます。フォントのレンダリングがそれほどひどくなければ、Fusionはそれほど気にしません。これについてどこかに未解決のバグがありますか?
Philipp Ludwig

フォントは私のシステムで見たフォントよりも悪くはありません。これのスクリーンショットはありますか?
gsxruk

ここにスクリーンショットをアップロードしました:imgur.com/a/u34W6左はQt Creator、右はgnome-terminalのvimセッションです。私はそれが非常に微妙であることに同意しますが、Qtフォントはぼやけている(またはぼやけている?)だけに感じます。どちらのアプリケーションは、Ubuntuのモノラル12に設定されている
フィリップ・ルートヴィヒを

あなたの言っていることはわかりますが、それは微妙だと思います。申し訳ありませんが、それについて何を提案したらよいかわかりません。
gsxruk

あなたが興味がある場合:funtooで無限大を使った方が良い結果が得られましたが、私が知る限り、このパッチセットはもう適切にメンテナンスされていません。とにかく、IPSパネルが付いている私のラップトップではフォントがはるかに良く見えるので、デスクトップで7年前のディスプレイをアップグレードする必要があるだけかもしれません。ご協力いただきありがとうございます!
フィリップルートヴィヒ

5

あなたがパッケージqt5ctをインストールする必要があることとは別に、qt5-style-pluginsqt5ctに 'gtk2'テーマを取得する必要があります

sudo apt-get install qt5-style-plugins

そして、あたりとしてqt5ctのドキュメント、設定することを忘れないでくださいQT_QPA_PLATFORMTHEME=qt5ct/etc/X11/Xsession.d/56xubuntu-sessionおよび/または/etc/environment


この回答は、をインストールしなくても機能しqt5ctます。
DMT 2017

はい、qt5-style-plugins(つまり、qt5ctなし)のみをインストールすると、gtk2でqt5.7 +をスタイリングするのに問題なく動作します。qt5ctは、gtk2以外のqt5.7 +の他のスタイルも使用する場合にのみ必要です
Gyll

ところで、デスクトップでの不一致にうんざりしてうんざりしているので、自分のテーマをまとめてしまいました。不一致が原因である
Gyll
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.