Changes to Qt Extras Modules▲
Qt 6 is a result of the conscious effort to make the framework more efficient and easy to use.
We try to maintain binary and source compatibility for all the public APIs in each release. But some changes were inevitable in an effort to make Qt a better framework.
One of those changes was to remove the platform-specific Extras modules, to ensure a cohesive cross-platform story and future for Qt 6. Most of the the functionality offered by these modules are replaced by a similar functionality in other Qt modules. This guide summarizes those alternatives, and provides guidance for the cases where Qt does not offer a replacement API.
Changes to Qt Mac Extras▲
QtMac namespace▲
Most members of the QtMac namespace have https://. The https:// function has been removed due to lack of known clients of the API.
QMacPasteboardMime▲
The https:// class has been replaced with https://. See https:// for details.
QMacToolBar▲
The https:// and https:// classes have been removed. Use https:// as a replacement.
Changes to Qt Windows Extras▲
QtWin namespace▲
Many members of the QtWin namespace have https://. To use these replacements with Qt Widgets or Qt Quick, operate on the https:// representation of the relevant widget or control.
The remaining functions have been removed:
errorStringFromHresult▲
Only used internally in WinExtras. No other known clients of the API.
colorizationColor/isCompositionOpaque▲
Concept exists on other platforms (tint/accent color). Warrants new cross-platform API, for example a new https:// role or platform theme property.
setWindowFlip3DPolicy▲
Windows 7 feature. No longer supported in Windows 10.
extendFrameIntoClientArea▲
Similar functionality exists on other platforms. Warrants cross-platform https:// API to control the relationship between the client area and the non-client area (frame/titlebar). See https:// for details.
enableBlurBehind▲
Deprecated as of Windows 8.
taskbarActivateTab and taskbar(Add/Delete)Tab▲
No known clients of the API.
QWinMime▲
The https:// class has been replaced with https://. See https:// for details.
QWinJumpList▲
The https://, https://, and https:// classes have been removed due to warranting a cross-platform solution. See https:// for details.
QWinTaskbarButton▲
QWinThumbnailToolBar▲
The https:// and https:// classes have been removed due to lack of known clients of the API.
Changes to Qt X11 Extras▲
The https:// module was removed in Qt 6.
-
For https://(), use https://() instead.
-
For https://(), use https://() instead.
-
For https://(), check https:// existence instead.
Make sure to check you can get a https:// object from https://, as in the following snippet:
Display *display = nullptr;
xcb_connection_t *connection = nullptr;
bool isPlatformX11 = false;
if (auto *x11Application = qGuiApp->nativeInterface<QNativeInterface::QX11Application>()) {
display = x11Application->display();
connection = x11Application->connection();
isPlatformX11 = true;
}
// or
// isPlatformX11 = qGuiApp->nativeInterface<QNativeInterface::QX11Application>();Clients that still rely on the functionality in https:// class can include the private header <QtGui/private/qtx11extras_p.h> as a stopgap solution. To enable private headers use QT += gui-private with qmake, or add a project dependency to Qt::GuiPrivate with CMake.
Changes to Qt Android Extras▲
Key functionality from the module has been brought over to other Qt modules.
Clients that still rely on missing functionality can include the private header <QtCore/private/qandroidextras_p.h> as a stopgap solution. To enable private headers use QT += core-private with qmake, or add a project dependency to Qt::CorePrivate with CMake.
QAndroidJniObject and QAndroidJniEnvironment▲
The https:// and https:// classes have been replaced by https:// and https:// respectively.
The https:// class is no longer needed. See QJniEnvironment::checkAndClearExceptions() for a replacement.
QtAndroid namespace▲
Many members of the QtAndroid namespace have replacements in the https:// native interface.
Permissions▲
The https:// infrastructure allows requesting a set of permissions in a cross-platform manner.
The QtAndroidPrivate Namespace can be used to access Android-specific permissions not covered by the cross-platform permissions system.


