Qt Integration for 18.04

Has there been any thought of improving the integration of Qt apps within GNOME shell for 18.04? Currently Qt apps are set to use the Gtk2 theme via the QGtkStyle plugin. This Qt style uses Gtk2 to paint into pixmaps, which are then drawn where the Qt widgets would be. Whilst this is better than no integration, it has a few issues. e.g. if a Gtk2 style does not use scrollbar arrows, Qt still reserves space for these - but nothing is drawn. Its also Gtk2 based.

I propose that Ubuntu uses QGnomePlatform, Adwaita-Qt, and Kvantum. QGnomePlatform is a Qt ‘platform’ theme - it allows Qt apps to use some Gtk dialogs (file picker, colour picker, etc), sets the Qt font to match Gtks, and tries to set a matching Qt theme for the Gtk theme.

Adwaita-Qt is a Qt Adwaita inspired theme, and its a pretty close approximation (only the ‘overlay’ scrollbars are not as nice).

Kvantum is a SVG based theming ‘engine.’ Kvantum already ships with a KvAmbiance theme which is a pretty good match for Ambiance. (Kvantum is (AFAIK) the only Qt theme which has Gtk-like overlay scrollbars). Kvantum’s author has also volunteered to make a Kvantum equivalent of the community theme, when this is more settled down.

QGnomePlatform will ascertain the user’s Gtk theme. If it finds a matching Kvantum theme, it will set Qt to use Kvantum and configure Kvantum to use the theme. If the user is using Adwaita, then Adwaita-Qt will be chosen.

Both QGnomePlatform and Adwaita-Qt have been developed by a RedHat employee, and are already used in Fedora.

6 Likes

This has yet to be packaged, but I’m working on it.

5 Likes

Great! Any news on QGnomePlatform? The Ubuntu session really needs QGnomePlatform+Kvantum, whereas the plain GNOME session needs QGnomePlatform+Adwaita-Qt

1 Like

Any news on packaging QGnomePlatform into Ubuntu?

2 Likes