Uniform look for Qt and GTK applications

See: https://wiki.archlinux.org/title/Uniform_look_for_Qt_and_GTK_applications

Theme: The custom appearance of an application, widget set, etc. It usually consists of a style, an icon theme and a color theme.
Style: The graphical layout and look of the widget set.
Icon Theme: A set of global icons.
Color Theme: A set of global colors that are used in conjunction with the style.

Actually a theme also controls fonts, and native dialogs, like open file dialog. How to write a Qt style is covered here.

I’m running Linuxmint 22 with Arc theme on my desktop. Fusion theme is used by default for Qt applications. They removed qt5ct in Linuxmint 22 in a fresh install. But it seems to be the best solution so far. Following is a comparison among the possible apporoaches, when run a Qt application. Which means launch a Qt applicaton by:

  has theme? has style? QT_QPA_
PLATFORMTHEME
QT_STYLE_
OVERRIDE
Description
Gtk2 Yes Yes gtk2 gtk2 or empty Good for widgets, indicators in radio button and checkbox can be styled, follows current Gtk theme. But It has HiDPI issues, and certianly not maintained.
Gtk3 Yes No gtk3 or empty values in qt5ct No style plugin. Fusion is used by default, which is not consistent with other themed Gtk applications.
qt5ct Yes Yes qt5ct values in qt5ct A proxy style used, amost no difference to the default style. Fusion is used by default, which is not consistent with other themed Gtk applications. Color scheme and font can be further customized. Button indicators are not styled.
Kvantum Yes Yes qt5ct kvantum Use Kvantum Manager to further customize the theme. Button indicators are styled. KvArc theme is provided, but is still somehow different in visual. Kvantum also installs several KDE component, which is odd.

So my final solution is: using qt5ct with customized color scheme and font. Color scheme defined:

Copy those 2 file into ~/.config/qt5ct/color, open qt5ct:

  • Go to Appearance –> Platte –> Check custom and select arc.
  • Go to Fonts –> Select your Gnome/Cinnamon font.
  • Go to Icon Theme –> Select your Gnome/Cinnamon icon theme.
  • Open ~/.config/qt5ct/qt5ct.conf, change standard_dialogs=default to standard_dialogs=gtk3.

See the difference:
vlc_default
vlc_themed