Sur cette page

Nouveautés de Qt 6.1

Modules nouveaux et restaurés dans Qt 6.1

Qt 6.1 ajoute les modules suivants :

Active Qt Module

Active Qt fournit un support ActiveX et COM qui permet aux développeurs Qt pour Windows :

  • Accéder et utiliser les contrôles ActiveX et les objets COM fournis par n'importe quel serveur ActiveX dans leurs applications Qt.
  • Rendre leurs applications Qt disponibles en tant que serveurs COM, avec n'importe quel nombre d'objets et de widgets Qt en tant qu'objets COM et contrôles ActiveX.

Qt Charts Le module

Qt Charts ne prend toujours en charge que l'OpenGL pour les séries accélérées (AbstractSeries.useOpenGL). Ces séries ne seront pas rendues dans Qt Quick si une autre API graphique est utilisée pour le rendu.

Qt Data Visualization Le module

Qt Data Visualization ne supporte que l'OpenGL RHI backend, et nécessite la configuration de la variable d'environnement QSG_RHI_BACKEND à opengl. Cela peut être fait au niveau du système, ou défini dans la main() de l'application avec qputenv("QSG_RHI_BACKEND", "opengl");.

Qt Device Utilities Module

Prise en charge des fonctionnalités de réseau uniquement.

Module Qt Lottie

Le module Qt Lottie Animation a été porté à Qt 6 et au système de construction CMake.

Qt SCXML et Qt StateMachine

Qt State Machine contient des API qui faisaient partie de Qt Core dans Qt 5. Le paquetage Qt State Machines dans l'installateur contient à la fois les API Qt SCXML et Qt State Machine et de Qt StateMachine.

Qt Virtual Keyboard Module

Le module Qt Virtual Keyboard a été porté à Qt 6 et au système de construction CMake.

  • Un nouveau gestionnaire de dictionnaires permet aux dictionnaires définis par l'utilisateur (par exemple, l'annuaire téléphonique) d'être mis en œuvre par l'application.
  • De nouvelles propriétés ont été ajoutées à VirtualKeyboardSettings.
  • La prise en charge de l'écriture manuscrite Cerence (T9 Write) et XT9 a été ajoutée.

Nouvelles fonctionnalités de Qt 6.1

Qt Core Module

  • QFuture dispose de nouvelles fonctions de commodité pour créer des futures dans différents états et peut maintenant invoquer sa continuation dans le thread d'un objet contextuel.
  • qfloat16 peut être construit sans être initialisé.
  • <QtMath> fournit qHypot(), généralisant std::hypot() à un nombre arbitraire d'arguments et supportant les arguments qfloat16.
  • Les fonctions qAddOverflow(), qSubOverflow() et qMulOverflow() prennent désormais en charge l'arithmétique sûre en cas de débordement.
  • Les méthodes removeIf() et le support de erase_if() sont étendus à d'autres classes :
    • QHash, QMap et leurs variantes Multi, dont les prédicats prennent soit une std::paire, soit le propre itérateur du conteneur.
    • QSetLes autres classes sont également compatibles avec la bibliothèque standard : et , qui bénéficient également d'une surcharge insert() qui prend (mais ignore) un indice d'emplacement, pour des raisons de compatibilité avec la bibliothèque standard.
    • QString QByteArray et , qui bénéficient également de la prise en charge de () pour supprimer toutes les instances d'une valeur spécifiée. QList erase
    • QVarLengthArrayCes deux sites sont également compatibles avec erase() et les méthodes removeAll() et removeOne().
  • QStringViewL'API d'EMC comprend désormais count(), contains(), indexOf(), lastIndexOf(), constBegin() et constEnd().
  • QLocale fournit des correspondances entre ses enums et les codes ISO et inversement : languageToCode(), scriptToCode(), countryToCode(), codeToLanguage(), codeToScript(), et codeToCountry().
  • QSocketNotifier permet désormais une création plus souple.
  • Ajout de QOperatingSystemVersion::version(), QMetaType::hasRegisteredDataStreamOperators(), et QUntypedBindable::isReadOnly(), dont les noms, je l'espère, en disent assez.
  • Ajout de QJniObject et QJniEnvironment en tant qu'API publique (principalement utilisée pour Android).
  • Les liaisons de propriétés d'objets ont été affinées au niveau de l'API, et les liaisons sont ajoutées aux classes Qt Core - voir l'article du blog sur les liaisons de propriétés pour le contexte.

Le module Qt GUI

  • QColorSpace peut maintenant définir des fonctions de transfert personnalisées en tant que tables.
  • QTextDocument Qt Gui Module vous permet maintenant de définir une fonction de fournisseur de ressources, au lieu de sous-classer QTextDocument et de surcharger loadResource().
  • Les wrappers de l'API Vulkan (QVulkanFunctions, QVulkanDeviceFunctions) exposent maintenant les API de base Vulkan 1.1 et 1.2.
    • Une nouvelle fonctionnalité (supportedApiVersion()) a été ajoutée à QVulkanInstance pour permettre d'interroger la version supportée au niveau de l'instance avant la création de l'instance.
  • Ajout de l'indice QPainter::VerticalSubpixelPositioning. Ceci n'est actuellement supporté que par le backend des polices Freetype, et lorsqu'il sera disponible, il permettra le positionnement subpixel du texte dans la direction verticale au prix d'un peu de mémoire et d'un travail supplémentaire. Pour la plupart des cas d'utilisation, cette option ne devrait pas être utilisée, mais elle peut être utile dans des cas très spécifiques où vous souhaitez aligner verticalement des éléments peints sur un tableau transformé dynamiquement.

Qt Widgets Le module

  • QLabel a des méthodes setter et getter pour la fonction resource provider dans QTextDocument. Inspectez les changements du module Qt GUI pour plus d'informations.

Qt Network Le module

  • QNetworkCookie supporte maintenant la fonction SameSite.
  • Introduit à QNetworkInformation:
    • QNetworkInformation expose actuellement l'accessibilité du système, en utilisant l'API du 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 en une conception orientée vers les plugins.
    • Les classes publiques et privées du sous-module "ssl" de QtNetwork sont désormais neutres vis-à-vis de l'implémentation TLS et ne sont pas exposées aux API et détails de bas niveau.
    • Les backends TLS existants (OpenSSL, SecureTransport, Schannel) indiquent désormais les classes, les fonctionnalités et les protocoles qu'ils prennent en charge.
    • Il est possible (pour une application utilisant Qt XML) de fournir son propre backend qui sera utilisé par QSslSocket et les classes associées.

Qt Qml Module

  • Ajout de QJSPrimitiveValue et 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 (encore en Tech Preview) ajoute une cible qmllint, qui exécute qmllint sur les fichiers QML de la cible.
  • Ajout de freeze() et de multi-insert() à QQmlPropertyMap.

Qt Quick Module 3D

  • Aperçu technologique : "Instanced Rendering", une manière optimisée de dessiner plusieurs instances des mêmes objets 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 commentaires des utilisateurs. Elle est prévue pour être finalisée dans Qt 6.2.
  • Avant-première technologique : 3D Particles, une API pour 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 3D prend désormais en charge les animations morph target, c'est-à-dire les animations dans lesquelles tous les vertices 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 livré avec Qt 6, un certain nombre d'effets ont été portés sur la nouvelle architecture graphique et ajoutés au module Qt5Compat. Par exemple, pour accéder à DropShadow, ajoutez le module QML import Qt5Compat.GraphicalEffects. Certains effets complexes reposant sur la génération dynamique de shaders, tels qu'un certain nombre de variantes de flou, ont été supprimés.

Liste des modifications de l'API

Ces pages contiennent une vue d'ensemble des changements de 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.