Änderungen an den Qt-Extras-Modulen
Qt 6 ist das Ergebnis bewusster Bemühungen, das Framework effizienter und benutzerfreundlicher zu gestalten.
Wir bemühen uns, bei jeder Version die Binär- und Quellkompatibilität für alle öffentlichen APIs zu gewährleisten. Einige Änderungen waren jedoch unvermeidlich, um Qt zu einem besseren Framework zu machen.
Eine dieser Änderungen war die Entfernung der plattformspezifischen Extras-Module, um eine einheitliche plattformübergreifende Lösung und Zukunftsperspektive für Qt 6 zu gewährleisten. Der Großteil der von diesen Modulen angebotenen Funktionen wird durch ähnliche Funktionen in anderen Qt-Modulen ersetzt. Dieser Leitfaden fasst diese Alternativen zusammen und bietet eine Orientierungshilfe für Fälle, in denen Qt keine Ersatz-API bietet.
Änderungen an Qt Mac Extras
QtMac-Namespace
Für die meisten Elemente des QtMac-Namensraums gibt es explizite Ersatzfunktionen. Die Funktion QtMac::fromCGImageRef wurde entfernt, da keine bekannten Clients für diese API bekannt sind.
QMacPasteboardMime
Die Klasse „QMacPasteboardMime“ wurde durch „ QUtiMimeConverter “ ersetzt. Weitere Informationen finden Sie unter „Änderungen an Qt GUI “ im Abschnitt „Native Clipboard-Integration “.
QMacToolBar
Die Klassen „QMacToolBar “ und „QMacToolBarItem“ wurden entfernt. Verwenden Sie stattdessen „ QToolBar “.
Änderungen an Qt Windows Extras
QtWin-Namensraum
Für viele Elemente des QtWin-Namensraums gibt es explizite Ersatzelemente. Um diese Ersatzelemente mit ` Qt Widgets ` oder ` Qt Quick` zu verwenden, arbeiten Sie mit der ` QWindow `-Darstellung des entsprechenden Widgets oder Steuerelements.
Die übrigen Funktionen wurden entfernt:
errorStringFromHresult
Wird nur intern in WinExtras verwendet. Es sind keine weiteren Clients der API bekannt.
colorizationColor/isCompositionOpaque
Das Konzept existiert auf anderen Plattformen (Tint/Accent-Farbe). Erfordert eine neue plattformübergreifende API, beispielsweise eine neue „ QPalette “-Rolle oder eine Eigenschaft des Plattform-Themas.
setWindowFlip3DPolicy
Windows-7-Funktion. Wird in Windows 10 nicht mehr unterstützt.
extendFrameIntoClientArea
Ähnliche Funktionalität existiert auf anderen Plattformen. Erfordert eine plattformübergreifende „ QWindow “-API zur Steuerung der Beziehung zwischen dem Client-Bereich und dem Nicht-Client-Bereich (Rahmen/Titelleiste). Siehe QTBUG-94010 für Details.
enableBlurBehind
Seit Windows 8 veraltet.
taskbarActivateTab und taskbar(Add/Delete)Tab
Es sind keine Clients dieser API bekannt.
QWinMime
Die Klasse „QWinMime“ wurde durch „ QWindowsMimeConverter “ ersetzt. Weitere Informationen finden Sie unter „Änderungen an Qt GUI#Native Clipboard-Integration “.
QWinJumpList
Die Klassen „QWinJumpList“, „QWinJumpListCategory“ und „QWinJumpListItem“ wurden entfernt, da eine plattformübergreifende Lösung erforderlich war. Weitere Informationen finden Sie unter QTBUG-94007.
QWinTaskbarButton
Die Klassen „QWinTaskbarButton“ und „QWinTaskbarProgress“ wurden entfernt, da eine plattformübergreifende Lösung erforderlich ist. Weitere Informationen finden Sie unter QTBUG-94009 und QTBUG-94008.
QWinThumbnailToolBar
Die Klassen ` QWinThumbnailToolBar ` und ` QWinThumbnailToolButton ` wurden entfernt, da keine bekannten Clients für die API bekannt sind.
Änderungen an Qt X11 Extras
Das Modul „Qt X11 Extras “ wurde in Qt 6 entfernt.
- Verwenden Sie für `QX11Info::connection()` stattdessen ` QNativeInterface::QX11Application::connection()`.
- Verwenden Sie für `QX11Info::display()` stattdessen ` QNativeInterface::QX11Application::display()`.
- Für `QX11Info::isPlatformX11()` prüfen Sie stattdessen, ob ein ` QNativeInterface::QX11Application ` vorhanden ist.
Stellen Sie sicher, dass Sie ein ` QNativeInterface::QX11Application `-Objekt über ` QGuiApplication` abrufen können, wie im folgenden Codeausschnitt gezeigt:
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, die weiterhin auf die Funktionalität der Klasse `QX11Info ` angewiesen sind, können den privaten Header ` <QtGui/private/qtx11extras_p.h> ` als Übergangslösung einbinden. Um private Header zu aktivieren, verwenden Sie ` QT += gui-private ` mit ` qmake` oder fügen Sie eine Projektabhängigkeit zu ` Qt::GuiPrivate ` mit ` CMake` hinzu.
Änderungen an Qt for Android Extras
Wichtige Funktionen des Moduls wurden in andere Qt-Module übernommen.
Clients, die weiterhin auf fehlende Funktionen angewiesen sind, können den privaten Header „ <QtCore/private/qandroidextras_p.h> “ als Übergangslösung einbinden. Um private Header zu aktivieren, verwenden Sie „ QT += core-private “ mit „ qmake “ oder fügen Sie eine Projektabhängigkeit zu „ Qt::CorePrivate “ mit „ CMake “ hinzu.
QAndroidJniObject und QAndroidJniEnvironment
Die Klassen „QAndroidJniObject“ und „QAndroidJniEnvironment“ wurden durch „ QJniObject “ bzw. „ QJniEnvironment “ ersetzt.
Die Klasse ` QAndroidJniExceptionCleaner ` wird nicht mehr benötigt. Als Ersatz siehe ` QJniEnvironment::checkAndClearExceptions()`.
QtAndroid-Namensraum
Viele Elemente des QtAndroid-Namensraums haben Entsprechungen in der nativen Schnittstelle „ QAndroidApplication “.
Berechtigungen
Die Infrastruktur für Anwendungsberechtigungen ermöglicht es, eine Reihe von Berechtigungen plattformübergreifend anzufordern.
Der Namespace „ QtAndroidPrivate “ kann verwendet werden, um auf Android-spezifische Berechtigungen zuzugreifen, die nicht vom plattformübergreifenden Berechtigungssystem abgedeckt sind.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.