web-dev-qa-db-ja.com

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

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

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

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

9
Philipp Ludwig

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

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

次のように、ネイティブスタイルを追加する方法がいくつかあります。

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

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

7
gsxruk

qt5ctとは別に、qt5-style-pluginsパッケージもインストールする必要があります。その後、qt5ctで「gtk2」テーマを取得する必要があります。

Sudo apt-get install qt5-style-plugins

そして、 qt5ct documentation に従って、QT_QPA_PLATFORMTHEME=qt5ctおよび/または/etc/X11/Xsession.d/56xubuntu-session/etc/environmentを設定することを忘れないでください

5
Gyll