Auf dieser Seite

Ä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.

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.