docs.appimage.org icon indicating copy to clipboard operation
docs.appimage.org copied to clipboard

Add section on how to make AppImages of Qt apps look native on Gtk

Open probonopd opened this issue 4 years ago • 0 comments

Add section on how to make AppImages of Qt apps look native on Gtk based on

  • https://github.com/probonopd/linuxdeployqt/issues/60#issuecomment-456185392
  • https://github.com/probonopd/linuxdeployqt/issues/60#issuecomment-456179469

Proposal:

Making AppImages of Qt apps look native on Gtk

Here is an example of a native-looking Qt application running on a Xubuntu (Xfce-based) distribution in an AppImage:

image

To make AppImages of Qt applications look native on Gtk based systems, you need to bundle plugins/platformthemes/libqgtk2.so and plugins/styles/libqgtk2style.so. Since they do not come with Qt by default anymore, you need to compile them by hand.

Example:

apt-get update
apt-get -y install libgtk2.0-dev
git clone http://code.qt.io/qt/qtstyleplugins.git
cd qtstyleplugins
qmake
make -j$(nproc)
make install 
cd -

(...)

linuxdeployqt (...) -extra-plugins=platformthemes/libqgtk2.so,styles/libqgtk2style.so

At runtime, you need to export QT_QPA_PLATFORMTHEME=gtk2, e.g., by adding this line to a custom AppRun script. (Xubuntu exports this variable automatically).

Background information

According to https://askubuntu.com/a/910143,

The problem has occurred since Qt5.7. In this release, the GTK2 platform theme and style was removed and replaced with the GTK3 platform theme. I've recently been in discussion with the Qt developers and it appears there isn't a GTK3 style to complement the platform theme and there are currently no plans to implement this in the future.

References

  • https://askubuntu.com/a/910143
  • https://askubuntu.com/a/748186

probonopd avatar Jul 30 '20 09:07 probonopd