Ubuntu 17.04に更新して以来、Qt5アプリケーション(Qt Creatorなど)はGTKテーマを使用しなくなりました。 qt5ctを使用してこれを変更しようとしましたが、スタイルのみがありますFusionおよびWindowsは、パッケージqt5-gtk-platformtheme
がインストールされている場合でも使用可能です。
これはどのように修正できますか?
編集:私はUnityを使用しています。
Qt5アプリケーションのルックアンドフィールは、プラットフォームのテーマとスタイルによって決まります。プラットフォームテーマはアイコン、フォントなどを担当し、スタイルはウィジェットのレンダリング方法を制御します。 Qt Creatorなどのアプリケーションは、GTK3プラットフォームテーマを標準として使用していると思います。
この問題はQt5.7から発生しています。このリリースでは、GTK2プラットフォームのテーマとスタイルが削除され、GTK3プラットフォームのテーマに置き換えられました。最近Qt開発者と話し合いましたが、プラットフォームテーマを補完するGTK3スタイルはないようで、現在のところこれを実装する計画はありません。したがって、Ubuntuでは、デフォルトスタイルはGTK3プラットフォームテーマを使用した「Fusion」です。
次のように、ネイティブスタイルを追加する方法がいくつかあります。
qtstyleplugins
という別のパッケージで引き続き利用できます here 。残念ながら、GTK2スタイルはGTK3プラットフォームテーマと互換性がありません。 GTK2スタイルを使用する場合は、GTK2プラットフォームテーマを使用する必要があります。これは、ダイアログなどがUbuntu 17.04でネイティブに見えないことを意味します。ただし、「Fusion」よりも好む場合があります。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\
にインストールする必要がある場合があります。
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
を設定することを忘れないでください