設定「Qt Style」

主題

環境變數

執行

env | grep QT | sort -u

顯示

QT_ACCESSIBILITY=1
QT_AUTO_SCREEN_SCALE_FACTOR=0
QT_IM_MODULE=fcitx
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
QT_PLATFORM_PLUGIN=lingmo
QT_QPA_PLATFORMTHEME=lingmo
QT_QPA_PLATFORM=xcb
QT_QPA_UPDATE_IDLE_TIME=10
QT_SCREEN_SCALE_FACTORS=1
QTWEBENGINE_DICTIONARIES_PATH=/usr/share/hunspell-bdic/

在設定「Qt Style」這個議題,我們關注的是其中兩行如下

QT_PLATFORM_PLUGIN=lingmo
QT_QPA_PLATFORMTHEME=lingmo

這兩個「環境變數」是在「lingmo-session」設定的

程式碼片段: lingmo-core/session/application.cpp

    // Qt
    qputenv("QT_QPA_PLATFORMTHEME", "lingmo");
    qputenv("QT_PLATFORM_PLUGIN", "lingmo");

也就是設定「Qt Style」採用「lingmo」。

原始碼專案是「GitHub / LingmoOS / lingmo-qt-plugins」。

然後「Debian Package」是「lingmo-qt-plugins」。

執行

dpkg -L lingmo-qt-plugins

顯示

/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/qt5
/usr/lib/x86_64-linux-gnu/qt5/plugins
/usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes
/usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/liblingmoplatformtheme.so
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles/liblingmostyle.so
/usr/share
/usr/share/doc
/usr/share/doc/lingmo-qt-plugins
/usr/share/doc/lingmo-qt-plugins/changelog.gz
/usr/share/doc/lingmo-qt-plugins/copyright

設定環境變數「QT_STYLE_OVERRIDE」

因為「QT_QPA_PLATFORMTHEME」已經被「lingmo-session」設定了,

所以我們可以透過另一個變數「QT_STYLE_OVERRIDE」來切換「Qt Style」。

舉例: 可以產生一個檔案「/etc/profile.d/qt-style.sh」,內容如下

export QT_STYLE_OVERRIDE=kvantum

設定「Qt Style」採用「kvantum」

執行下面指令,安裝「qt5-style-kvantum

sudo apt-get install qt5-style-kvantum

執行

dpkg -L qt5-style-kvantum | grep plugin

顯示

/usr/lib/x86_64-linux-gnu/qt5/plugins
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles/libkvantum.so

設定「Qt Style」採用「kvantum」,可以產生一個檔案「/etc/profile.d/qt-style.sh」,內容如下

export QT_STYLE_OVERRIDE=kvantum

執行「kvantummanager」來設定採用「Kvantum Theme」,設定值會儲存在「~/.config/Kvantum/kvantum.kvconfig」這個檔案,內容類似如下

[General]
theme=KvArcDark

重新開機後,再次登入系統,就可以看到效果。

可以執行「pcmanfm-qt」來觀看效果。

更多採用「kvantum」的「外觀設定樣式

設定「Qt Style」採用「gtk2」

以下步驟可以讓「Qt Style」跟隨「gtk2」的設定。

執行下面指令,安裝「qt5-gtk2-platformtheme

sudo apt-get install qt5-gtk2-platformtheme

執行

dpkg -L qt5-style-kvantum | grep plugin

顯示

/usr/lib/x86_64-linux-gnu/qt5/plugins
/usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes
/usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/libqgtk2.so
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles
/usr/lib/x86_64-linux-gnu/qt5/plugins/styles/libqgtk2style.so

設定「Qt Style」採用「gtk2」,可以產生一個檔案「/etc/profile.d/qt-style.sh」,內容如下

export QT_STYLE_OVERRIDE=gtk2

產生一個檔案「~/.gtkrc-2.0」,內容類似如下

gtk-theme-name="Lingmo-dark"
gtk-icon-theme-name="Crule-dark"
gtk-font-name="Sans 12"
gtk-cursor-theme-name="lingmo-dark"
gtk-cursor-theme-size=24

關於「gtk-theme-name="Lingmo-dark"」指的是「/usr/share/themes/Lingmo-dark/gtk-2.0/」。

關於「gtk-icon-theme-name="Crule-dark"」指的是「/usr/share/icons/Crule-dark/」。

關於「gtk-cursor-theme-name="lingmo-dark"」指的是「/usr/share/icons/lingmo-dark/cursors/」。

重新開機後,再次登入系統,就可以看到效果。

可以執行「pcmanfm-qt」來觀看效果。

關於「qt5-style-plugins」是「Debian Meta Package」,可以直接安裝它,就會連帶安裝「qt5-gtk2-platformtheme」,「qt5-style-plugin-cleanlooks」,「qt5-style-plugin-motif」,「qt5-style-plugin-plastique」。

設定範例

Source

Source
GitHub / qt / qtstyleplugins
GitHub / tsujan / Kvantum
GitHub / LingmoOS / lingmo-qt-plugins
Source
GitHub / qt / qtbase

相關連結