[Development] Semi-private headers in Qt
Tor Arne Vestbø
Tor.arne.Vestbo at qt.io
Thu May 21 13:41:41 CEST 2026
On 21 May 2026, at 13:30, Volker Hilsheimer via Development <development at qt-project.org> wrote:
One idea I just had was to use the major.minor version number of Qt.
#include <QtGui/6.12/qrhi.h>
The advantage is that you are clearly seeing that you are using an API that is specific to that Qt version.
The disadvantage is that you have to change the include statement when upgrading Qt version, but that might as much be an advantage because it creates awareness - just because things still compile doesn't necessary mean that they also still work the same way. And it can be made very simple by having a single wrapper-header for a project.
Failing that my preference would be either
unstable, unsupported, or semiprivate
I suggest we squash all these uses-cases into an opaque `spi` suffix, which can covers both semi-private (experimental), and service-provider (system integration) interfaces. It’s also short to write :)
#include <QtGui/spi/qplatformwindow.h> // Technically both semi-private and service-provider interface
#include <QtMultimedia/spi/qgstreamvervideosource.h> // Semi private API
Tor Arne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20260521/285adaa9/attachment-0001.htm>
More information about the Development
mailing list