Nouveautés de Qt 6.1
Modules nouveaux et réintroduits dans Qt 6.1
Qt 6.1 ajoute les modules suivants :
Active Qt Module
Active Qt fournit une prise en charge d'ActiveX et de COM qui permet aux développeurs Qt sous Windows :
- d'accéder aux contrôles ActiveX et aux objets COM fournis par n'importe quel serveur ActiveX, et de les utiliser dans leurs applications Qt ;
- De rendre leurs applications Qt disponibles en tant que serveurs COM, avec un nombre illimité d'objets et de widgets Qt sous forme d'objets COM et de contrôles ActiveX.
Qt Charts Le module
Qt Charts ne prend toujours en charge qu’OpenGL pour les séries accélérées (AbstractSeries.useOpenGL). Ces séries ne s’afficheront pas dans Qt Quick si une autre API graphique est utilisée pour le rendu.
Qt Data Visualization Le module
Qt Data Visualization ne prend en charge que le backend RHI OpenGL et nécessite de définir la variable d'environnement ` QSG_RHI_BACKEND ` sur ` opengl`. Cela peut être effectué soit au niveau du système, soit dans la fonction `main()` de l'application à l'aide de ` qputenv("QSG_RHI_BACKEND", "opengl");`.
Qt Device Utilities Module
Prise en charge des fonctionnalités réseau uniquement.
Module Qt Lottie
Le Qt Lottie Animation module a été porté vers Qt 6 et le système de compilation CMake.
Qt SCXML et Qt StateMachine
Qt State Machine contient des API qui faisaient partie d’ Qt Core dans Qt 5. Le paquet Qt State Machine de l’installateur contient à la fois le Qt SCXML et Qt State Machine modules.
Qt Virtual Keyboard Module
Le Qt Virtual Keyboard module a été porté vers Qt 6 et le système de compilation CMake.
- Un nouveau gestionnaire de dictionnaires permet à l'application d'implémenter des dictionnaires définis par l'utilisateur (par exemple, un répertoire téléphonique).
- De nouvelles propriétés sont disponibles dans ` VirtualKeyboardSettings`.
- La prise en charge de Cerence Handwriting (T9 Write) et de XT9 a été ajoutée.
Nouvelles fonctionnalités de Qt 6.1
Qt Core Le module
- QFuture dispose de nouvelles fonctions pratiques pour créer des « futures » dans divers états et peut désormais invoquer sa continuation dans le thread d’un objet de contexte.
- qfloat16 peut être instancié sans initialisation.
- <QtMath> fournit la fonction qHypot(), qui généralise std::hypot() à un nombre arbitraire d'arguments et prend en charge les arguments de type qfloat16.
- L'arithmétique sans risque de débordement est désormais prise en charge par les fonctions qAddOverflow(), qSubOverflow() et qMulOverflow().
- Les méthodes removeIf() et la prise en charge de erase_if() sont étendues à davantage de classes :
- QHash, QMap et leurs variantes Multi, dont les prédicats acceptent soit un std::pair, soit l’itérateur propre au conteneur.
- QSet, qui bénéficie également d’une surcharge de la méthode insert() acceptant (mais ignorant) une indication d’emplacement, pour des raisons de compatibilité avec la bibliothèque standard.
- QString, QByteArray et QList, qui bénéficient également de la prise en charge de la fonction ` erase()` pour supprimer toutes les instances d’une valeur spécifiée.
- QVarLengthArray, ainsi que la prise en charge de ` erase()` et des méthodes `removeAll()` et `removeOne()`.
- QStringViewL’API inclut désormais les méthodes count(), contains(), indexOf(), lastIndexOf(), constBegin() et constEnd().
- QLocale Elle fournit des correspondances entre ses énumérations et les codes ISO dans les deux sens : languageToCode(), scriptToCode(), countryToCode(), codeToLanguage(), codeToScript() et codeToCountry().
- QSocketNotifier prend désormais en charge une création plus flexible.
- Ajout des méthodes QOperatingSystemVersion::version(), QMetaType::hasRegisteredDataStreamOperators() et QUntypedBindable::isReadOnly(), dont les noms parlent, espérons-le, d’eux-mêmes.
- Ajout des méthodes ` QJniObject ` et ` QJniEnvironment ` en tant qu’API publique (principalement utilisées pour Android).
- Les liaisons de propriétés d’objets ont fait l’objet d’améliorations au niveau de l’API, et des liaisons ont été ajoutées aux classes Qt Core — voir l’article de blog « Liaisons de propriétés » pour plus de contexte.
Module Qt GUI
- QColorSpace permet désormais de définir des fonctions de transfert personnalisées sous forme de tableaux.
- QTextDocument Il est désormais possible de définir une fonction de fournisseur de ressources, au lieu de créer une sous-classe de ` QTextDocument ` et de surcharger la méthode `loadResource()`.
- Les wrappers de l’API Vulkan (QVulkanFunctions, QVulkanDeviceFunctions) exposent désormais également les API de base de Vulkan 1.1 et 1.2.
- Une nouvelle fonctionnalité pertinente (supportedApiVersion()) a été ajoutée à ` QVulkanInstance ` pour permettre de consulter la version prise en charge au niveau de l’instance avant la création de celle-ci.
- Ajout de l’indicateur QPainter::VerticalSubpixelPositioning. Celui-ci n’est actuellement pris en charge que par le backend de polices Freetype ; lorsqu’il est disponible, il permet le positionnement au sous-pixel du texte dans le sens vertical, au prix d’une consommation de mémoire et d’un surcroît de travail. Dans la plupart des cas d’utilisation, cette option doit rester désactivée, mais elle peut s’avérer utile dans des cas très spécifiques où vous souhaitez aligner verticalement des éléments dessinés sur un « painter » transformé dynamiquement.
Qt Widgets Le module
- QLabel dispose de méthodes setter et getter pour la fonction de fournisseur de ressources dans ` QTextDocument`. Consultez les modifications apportées au module Qt GUI pour plus d’informations.
Qt Network Le module
- QNetworkCookie prend désormais en charge la fonctionnalité SameSite.
- Introduction d'QNetworkInformation:
- QNetworkInformation expose actuellement l’accessibilité du système, à l’aide de l’API système.
- Prend actuellement en charge Darwin, Windows, Android et NetworkManager sous Linux.
- Les backends TLS, qui alimentent ` QSslSocket ` et les classes ` QSsl ` associées, ont été convertis vers une architecture orientée plugins.
- Les classes publiques et privées du sous-module « ssl » d’ QtNetwork sont désormais indépendantes de l’implémentation TLS et ne sont pas exposées aux API ou détails de bas niveau.
- Les backends TLS existants (OpenSSL, SecureTransport, Schannel) indiquent désormais les classes, fonctionnalités et protocoles qu’ils prennent en charge.
- Il est possible (pour une application utilisant Qt) de fournir son propre backend destiné à être utilisé par ` QSslSocket ` et les classes associées.
Qt Qml Module
- Ajout d’ QJSPrimitiveValue et d’ QJSManagedValue pour un contrôle plus fin de l’exécution de JavaScript que ce qui était possible avec QJSValue seul.
- La fonction CMake `qt6_add_qml_module` (toujours en préversion technique) ajoute une cible `qmllint`, qui exécute `qmllint` sur les fichiers QML de la cible.
- Ajout d’
freeze()et de multi-insert()à QQmlPropertyMap.
Qt Quick Module 3D
- Aperçu technologique : « Instanced Rendering », une méthode optimisée pour dessiner plusieurs instances d’un même objet avec des transformations différentes. Cette fonctionnalité est considérée comme complète, mais peut encore faire l’objet de modifications mineures de l’API en fonction des retours des utilisateurs. Sa finalisation est prévue pour Qt 6.2.
- Aperçu technologique : Particules 3D, une API permettant d’ajouter des effets de particules aux scènes 3D. Cette API est prête à être testée, mais n’est pas encore complète.
- Qt Quick La 3D prend désormais en charge les animations de cibles de morphing, c'est-à-dire les animations dans lesquelles tous les sommets s'interpolent entre deux ensembles de positions, donnant l'impression qu'une forme se transforme en une autre.
Module de compatibilité Qt 5
Bien que Qt Graphical Effects ne soit pas fourni avec Qt 6, un certain nombre d’effets ont été portés vers la nouvelle architecture graphique et ajoutés au module Qt5Compat. Par exemple, pour accéder à DropShadow, ajoutez l’importation QML Qt5Compat.Graphical Effects. Certains effets complexes reposant sur la génération dynamique de shaders, tels que plusieurs variantes de flou, ont été supprimés.
Liste des modifications apportées à l'API
Ces pages présentent un aperçu des modifications apportées à l'API dans Qt 6.1 :
© 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.