Sur cette page

Changements apportés aux modules Qt Extras

Qt 6 est le résultat d'un effort conscient pour rendre le framework plus efficace et plus facile à utiliser.

Nous essayons de maintenir la compatibilité binaire et source pour toutes les API publiques dans chaque version. Mais certains changements étaient inévitables dans un effort pour faire de Qt un meilleur framework.

L'un de ces changements a consisté à supprimer les modules Extras spécifiques aux plates-formes, afin d'assurer la cohésion de l'histoire et de l'avenir de Qt 6 sur toutes les plates-formes. La plupart des fonctionnalités offertes par ces modules sont remplacées par des fonctionnalités similaires dans d'autres modules de Qt. Ce guide résume ces alternatives et fournit des conseils pour les cas où Qt n'offre pas d'API de remplacement.

Changements apportés à Qt Mac Extras

Espace de noms QtMac

La plupart des membres de l'espace de noms QtMac ont des remplacements explicites. La fonction QtMac::fromCGImageRef a été supprimée en raison de l'absence de clients connus de l'API.

QMacPasteboardMime

La classe QMacPasteboardMime a été remplacée par QUtiMimeConverter. Voir les modifications apportées à Qt GUI#Intégration native du presse-papier pour plus de détails.

QMacToolBar

Les classes QMacToolBar et QMacToolBarItem ont été supprimées. Utilisez QToolBar pour les remplacer.

Changements dans les Extras de Qt Windows

Espace de noms QtWin

De nombreux membres de l'espace de noms QtWin ont des remplaçants explicites. Pour utiliser ces remplacements avec Qt Widgets ou Qt Quick, opérez sur la représentation QWindow du widget ou du contrôle concerné.

Les fonctions restantes ont été supprimées :

errorStringFromHresult

Utilisée uniquement en interne dans WinExtras. Aucun autre client connu de l'API.

colorizationColor/isCompositionOpaque

Le concept existe sur d'autres plates-formes (couleur tint/accent). Il justifie une nouvelle API multiplateforme, par exemple un nouveau rôle QPalette ou une propriété de thème de plate-forme.

setWindowFlip3DPolicy (politique d'inversion des fenêtres)

Fonctionnalité de Windows 7. N'est plus prise en charge dans Windows 10.

extendFrameIntoClientArea

Une fonctionnalité similaire existe sur d'autres plateformes. Demande l'API multiplateforme QWindow pour contrôler la relation entre la zone client et la zone non client (cadre/barre de titre). Voir QTBUG-94010 pour plus de détails.

enableBlurBehind

Déclassé à partir de Windows 8.

taskbarActivateTab et taskbar(Add/Delete)Tab

Aucun client connu de l'API.

QWinMime

La classe QWinMime a été remplacée par QWindowsMimeConverter. Voir les modifications apportées à Qt GUI#Intégration native du presse-papiers pour plus de détails.

QWinJumpList

Les classes QWinJumpList, QWinJumpListCategory et QWinJumpListItem ont été supprimées en raison de la nécessité d'une solution multiplateforme. Voir QTBUG-94007 pour plus de détails.

QWinTaskbarButton

Les classes QWinTaskbarButton et QWinTaskbarProgress ont été supprimées en raison de la nécessité d'une solution multiplateforme. Voir QTBUG-94009 et QTBUG-94008 pour plus de détails.

QWinThumbnailToolBar

Les classes QWinThumbnailToolBar et QWinThumbnailToolButton ont été supprimées en raison de l'absence de clients connus de l'API.

Changements dans le module Qt X11 Extras

Le module Qt X11 Extras a été supprimé dans Qt 6.

Veillez à vérifier que vous pouvez obtenir un objet QNativeInterface::QX11Application à partir de QGuiApplication, comme dans l'extrait suivant :

    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>();

Les clients qui s'appuient toujours sur la fonctionnalité de la classe QX11Info peuvent inclure l'en-tête privé <QtGui/private/qtx11extras_p.h> comme solution palliative. Pour activer les en-têtes privés, utilisez QT += gui-private avec qmake, ou ajoutez une dépendance de projet à Qt::GuiPrivate avec CMake.

Changements apportés à Qt for Android Extras

Les fonctionnalités clés du module ont été transférées vers d'autres modules Qt.

Les clients qui s'appuient encore sur des fonctionnalités manquantes peuvent inclure l'en-tête privé <QtCore/private/qandroidextras_p.h> comme solution provisoire. Pour activer les en-têtes privés, utilisez QT += core-private avec qmake, ou ajoutez une dépendance de projet à Qt::CorePrivate avec CMake.

QAndroidJniObject et QAndroidJniEnvironment

Les classes QAndroidJniObject et QAndroidJniEnvironment ont été remplacées respectivement par QJniObject et QJniEnvironment.

La classe QAndroidJniExceptionCleaner n'est plus nécessaire. Voir QJniEnvironment::checkAndClearExceptions() pour la remplacer.

Espace de noms QtAndroid

De nombreux membres de l'espace de noms QtAndroid ont été remplacés par l'interface native QAndroidApplication.

Permissions

L'infrastructure Application Permissions permet de demander un ensemble de permissions de manière multiplateforme.

L'espace de noms QtAndroidPrivate peut être utilisé pour accéder aux permissions spécifiques à Android qui ne sont pas couvertes par le système de permissions multiplateforme.

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