[Development] A simple analysis of apps using qtbase's private headers

Lisandro Damián Nicanor Pérez Meyer perezmeyer at gmail.com
Fri Jan 22 04:15:02 CET 2016

I did a **very** simple analysis of apps packaged in Debian using qtbase's 
private headers. My main concern was to see if we (Debian) can avoid having to 
rebuild them every time we push a new version of Qt to our archive.

What I've found seemed interesting so I decided to share it here.

The following three have something in common: they are all apps coded for 
Chinese people. I've been told that they need QPA's private stuff in order to 
have proper input systems, but I haven't checked.

* fcitx-qt5 1.0.5
* gcin 2.8.4
* hime 0.9.10

If people go to the extent of using private headers for this maybe it's a very 
good reason to (somehow) make that part of the API public. It might make a 
difference for chinese coders.


The following three seems to be using at least qpa/qplatformtheme.h

* KDE's frameworkintegration 5.16.0
* libqtxdg 1.3.0
* lxqt-qtplugin 0.10.0

Maybe for being able to create it's own theme?


And the rest for various reasons:

* KDE's kdeclarative 5.16.0: code says to use QQuickImageProvider

* KDE's kwin 5.4.3: qpa/qwindowsysteminterface.h

* gammaray 2.4.0 I guess it needs to get into internal stuff.

* musescore 2.0.2 An interesting false positive. It embeds Qt's code without a 
namespace so the resulting symbols files get catched by our tools and confuse 

* qtcurve 1.8.18: private/qwidget_p.h (no further digging)

* calibre 2.48.0: quite a lot of stuff, just saw it and left it there.

That's all. I really hope someone finds it interesting.


Never attribute to malice that which is adequately explained by stupidity.

Lisandro Damián Nicanor Pérez Meyer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20160122/7afbf14a/attachment.sig>

More information about the Development mailing list