Modifications apportées aux modules Qt Extras
Qt 6 est le fruit d'un effort délibéré visant à rendre le framework plus efficace et plus facile à utiliser.
Nous nous efforçons de maintenir la compatibilité binaire et source pour toutes les API publiques à chaque version. Cependant, certains changements étaient inévitables afin d’améliorer Qt en tant que framework.
L'un de ces changements a consisté à supprimer les modules Extras spécifiques à chaque plateforme, afin de garantir une expérience multiplateforme cohérente et d'assurer l'avenir de Qt 6. La plupart des fonctionnalités offertes par ces modules sont remplacées par des fonctionnalités similaires dans d'autres modules Qt. Ce guide résume ces alternatives et fournit des conseils pour les cas où Qt ne propose pas d’API de remplacement.
Modifications apportées à Qt Mac Extras
Espace de noms QtMac
La plupart des éléments 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 cette API.
QMacPasteboardMime
La classe ` QMacPasteboardMime ` a été remplacée par ` QUtiMimeConverter`. Pour plus de détails, consultez la section « Modifications apportées à Qt GUI » #Intégration native du presse-papiers.
QMacToolBar
Les classes ` QMacToolBar ` et ` QMacToolBarItem ` ont été supprimées. Utilisez ` QToolBar ` à la place.
Modifications apportées à Qt Windows Extras
Espace de noms QtWin
De nombreux éléments de l'espace de noms QtWin ont des remplacements 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
Ce concept existe sur d’autres plateformes (couleur de teinte/d’accent). Justifie la création d’une nouvelle API multiplateforme, par exemple un nouveau rôle « QPalette » ou une nouvelle propriété de thème de plateforme.
setWindowFlip3DPolicy
Fonctionnalité de Windows 7. N'est plus prise en charge sous Windows 10.
extendFrameIntoClientArea
Une fonctionnalité similaire existe sur d’autres plateformes. Justifie la mise en place d’une 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
Obsolète depuis Windows 8.
taskbarActivateTab et taskbar(Add/Delete)Tab
Aucun client connu de cette API.
QWinMime
La classe QWinMime a été remplacée par QWindowsMimeConverter. Pour plus de détails, consultez la section « Modifications apportées à Qt GUI » #Intégration native du presse-papiers.
QWinJumpList
Les classes QWinJumpList, QWinJumpListCategory et QWinJumpListItem ont été supprimées afin de favoriser une solution multiplateforme. Voir QTBUG-94007 pour plus de détails.
QWinTaskbarButton
Les classes QWinTaskbarButton et QWinTaskbarProgress ont été supprimées afin de favoriser 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.
Modifications apportées à Qt X11 Extras
Le module Qt X11 Extras a été supprimé dans Qt 6.
- Pour QX11Info::connection(), utilisez plutôt QNativeInterface::QX11Application::connection().
- Pour QX11Info::display(), utilisez plutôt QNativeInterface::QX11Application::display().
- Pour QX11Info::isPlatformX11(), vérifiez plutôt l'existence d'un objet « QNativeInterface::QX11Application ».
Assurez-vous de vérifier que vous pouvez obtenir un objet ` QNativeInterface::QX11Application ` à partir de ` QGuiApplication`, comme dans l’extrait de code 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 dépendent encore des fonctionnalités de la classe QX11Info peuvent inclure l'en-tête privé <QtGui/private/qtx11extras_p.h> à titre de solution provisoire. 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.
Modifications apportées à Qt for Android Extras
Les fonctionnalités clés de ce module ont été transférées vers d’autres modules Qt.
Les clients qui dépendent encore de fonctionnalités manquantes peuvent inclure l'en-tête privé <QtCore/private/qandroidextras_p.h> à titre de 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 son équivalent.
Espace de noms QtAndroid
De nombreux éléments de l'espace de noms QtAndroid ont des équivalents dans l'interface native QAndroidApplication.
Autorisations
L'infrastructure des autorisations d'application permet de demander un ensemble d'autorisations de manière multiplateforme.
L'espace de noms QtAndroidPrivate peut être utilisé pour accéder aux autorisations spécifiques à Android qui ne sont pas couvertes par le système d'autorisations 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.