Sur cette page

Nouveautés de Qt 6.10

Modules nouveaux et réintroduits dans Qt 6.10

Qt 6.10 ajoute les modules et outils suivants :

Nouvelles fonctionnalités de Qt 6.10

Qt Core Le module

Qt D-Bus Le module

Qt Graphs Module

Qt GRPC Module

Qt GUI Le module

  • QStyleHints::accessibility permet d'accéder aux préférences d'accessibilité de l'utilisateur, par exemple pour savoir si le système a activé un paramètre d'augmentation du contraste.
  • Ajout de la méthode ` QAccessibilityHints ` pour accéder aux paramètres d'accessibilité individuels.
  • QRhi: Ajout de la prise en charge de l’énumération des cartes graphiques 3D (périphériques physiques), lors de l’exécution sous Direct 3D 11, 12 ou Vulkan, via la fonction enumerateAdapters().
  • QPainterPath::setCachingEnabled() peut être utilisée pour activer la mise en cache des valeurs calculées, ce qui améliore les performances pour certaines opérations au prix d’une utilisation supplémentaire de mémoire.
  • Ajout de la fonction ` QPainterPath::trimmed()` pour renvoyer une partie du chemin d'accès.

Module Qt HttpServer

Qt Lottie Animation

  • Ajout de la prise en charge des calques « solid », « null » et « precomposition ».
  • Ajout de l'outil lottietoqml. Il s'agit d'un outil équivalent à svgtoqml qui convertit les fichiers Lottie en scènes d'Qt Quick décrites en QML. Il est actuellement en préversion technique.
  • Ajout d’un plugin pour VectorImage qui lui permet de charger des fichiers Lottie en plus des fichiers SVG. Cette fonctionnalité est en préversion technique et nécessite que l’option « assumeTrustedSource » soit définie sur « true ».
  • Ajout des exemples « lottietoqml » et « qtlottieviewer » pour illustrer l’utilisation de Qt Lottie Animation.

Qt Multimedia Module

  • Ajout d’un backend audio natif PipeWire.
  • Compensation de la hauteur tonale pour l’ QMediaPlayer, basé sur FFmpeg, grâce à l’excellente bibliothèque Signalsmith Stretch. Le comportement peut être personnalisé via la propriété pitchCompensation.
  • QCapturableWindow peut désormais être créé à partir de ` QWindow ` aussi bien en C++ qu’en QML.
  • Ajout d’une nouvelle classe ` QPlaybackOptions ` qui permet aux utilisateurs de contrôler les options de lecture multimédia de bas niveau de FFmpeg, par exemple l’intention de lecture, le délai d’expiration réseau et la taille de la sonde.
  • Dans QAudioSink et QAudioSource, ajout de méthodes permettant aux utilisateurs de manipuler le tampon audio sous-jacent en nombre de trames plutôt qu’en nombre d’octets.

Qt Network Module

  • Ajout de la méthode fromFile() à QSslCertificate.
  • Ajout de la méthode setDateTimeValue() à QHttpHeaders, une méthode pratique permettant de définir les valeurs de date et d’heure dans les en-têtes HTTP.
  • Ajout de méthodes pratiques à QHttpHeaders pour récupérer des valeurs sous forme de QDateTime, d'entiers ou de listes de ces types.

Qt Protobuf Module

Qt Qml Module

  • Ajout d’un nouveau type QML « TreeModel » permettant de définir une structure arborescente dans le fichier QML et fonctionnant avec « TreeView ».
  • Ajout du type QML « SortFilterProxyModel » pour trier et filtrer les données du modèle. Cette fonctionnalité est en préversion technique.
  • Ajout de la propriété `delegateModelAccess` à ` DelegateModel ` et à toutes les vues. Vous pouvez désormais écrire dans le modèle via les propriétés requises.
  • Ajout du type QML ` Synchronizer `. `Synchronizer` synchronise deux propriétés ou plus sans utiliser de liaisons. Cette fonctionnalité est en préversion technique.
  • Ajout de règles de personnalisation des points-virgules à `qmlformat`. Vous pouvez désormais contrôler si des points-virgules sont ajoutés à la fin des instructions JS.
  • Ajout de nouveaux avertissements qmllint visant à améliorer la compatibilité avec Qt Creator, notamment des vérifications des limitations spécifiques à Qt Design Studio, des avertissements supplémentaires liés à JavaScript et plusieurs nouveaux avertissements liés aux énumérations et aux importations QML.
  • Suppression de la prise en charge de la manipulation des structures de lignes complexes dans TableModel.
  • Modification de l’ordre des paramètres « role » et « value » dans ` TableModel::setData ` afin de lever toute ambiguïté.

Qt Quick Module

  • Ajout du type QML ` FlexboxLayout ` pour organiser les éléments rapides de manière flexible, à l’instar de CSS Flexbox. Cette fonctionnalité est en préversion technique.

Qt Quick Controls Module

  • Le style FluentWinUI3 offre désormais une meilleure prise en charge des thèmes de contraste sous Windows 11.
  • Ajout du contrôle « SearchField »

Qt Quick Dialogs Module

  • Ajout de la propriété « popupType », qui permet de contrôler si une boîte de dialogue non native doit s’ouvrir dans une fenêtre distincte ou en tant qu’élément de la scène existante. Cela n’a aucun effet lors de l’utilisation de boîtes de dialogue natives.

Qt Quick Effects Module

Qt Quick Module 3D

  • Ajout de la propriété « emitMode » aux émetteurs de formes afin de permettre l'émission de particules en fonction des normales de surface de la forme.
  • Implémentation des émetteurs « reversed » pour permettre aux particules de se déplacer de l’heure de fin vers l’heure de début.
  • Plusieurs améliorations et modifications liées aux lightmaps :
    • Introduction de tailles de lightmap basées sur le nombre de texels par unité, avec l’ajout des propriétés ` Model::texelsPerUnit ` et ` Lightmapper::texelsPerUnit ` et le remplacement de la propriété ` Model::lightmapBaseResolution `, désormais obsolète.
    • Introduction de la propriété Lightmapper::source pour définir une source de lightmap unique pour l’ensemble de la scène, remplaçant et rendant obsolète la propriété BakedLightmap::loadPrefix.
    • Ajout d’un débruitage intégré basé sur le GPU (Non-local Means, NLM) pour les lightmaps cuites, contrôlé via la propriété « Lightmapper::denoiseSigma ».
    • La fenêtre de cuisson des lightmaps a été améliorée pour afficher une barre de progression et une estimation du temps restant.
    • La cuisson s’effectue désormais dans son propre contexte RHI et ne bloque pas le rendu de l’application en cours d’exécution.
    • L'utilisation de la RAM et de la VRAM a été réduite lors du baking de certaines scènes.
    • Ajout d’un outil de visualisation des lightmaps permettant de déboguer les fichiers de lightmaps cuits via l’interface graphique ou la ligne de commande.
  • Correction de l’importation des couleurs pour le paramètre `baseColorFactor` de glTF2 grâce à une conversion correcte du format linéaire vers sRGB, conformément à la spécification.
  • Ajout d’ CapsuleGeometry s aux classes ` QtQuick3D.Helpers` avec des textures fixes, la prise en charge de la création asynchrone et la propriété `uvProfile` exposée.

Qt Quick Module 3D XR

  • Exposition de l’ method permettant de demander un balayage de la pièce pour les ancrages spatiaux.

Qt Quick 3D Physics Module

Qt Quick Module VectorImage

  • Ajout de la prise en charge des fichiers SVG animés, conforme à la prise en charge des animations décrite dans Qt SVG.
  • Ajout de API pour indiquer si le fichier source est fiable ou non.
  • Ajout de API pour contrôler le comportement des animations.
  • En intégrant un plugin fourni par Qt Lottie Animation, VectorImage peut désormais également afficher les fichiers Lottie. Cette fonctionnalité est considérée comme une préversion technique et nécessite que l'assumeTrustedSource soit défini sur true.

Qt Serial Port Module

  • Ajout de la prise en charge de la limitation de la taille du tampon d’écriture à l’aide de la propriété writeBufferSize.

Qt Serial Bus Module

Module Qt Sql

Qt SVG Module

  • Ajout de la prise en charge des animations CSS pour les propriétés « fill-opacity », « stroke-opacity » et « opacity ».
  • Ajout d’un exemple illustrant comment afficher des fichiers SVG.

Qt Test Module

  • Les benchmarks basés sur les données identifient désormais les données globales et locales dans des noms en texte clair
  • Les traces de pile provenant de lldb sont désormais désactivées sur Apple Silicon
  • Lorsque la fonction ` QTest ` affiche des valeurs à virgule flottante dans une comparaison, elle fournit désormais la précision complète et inclut une version hexadécimale

Module Qt VirtualKeyboard

  • Ajout d’informations PURL et CPE aux fichiers d’attribution des sources tierces.
  • Ajout de la disposition de clavier lettone.

Qt WebEngine Module

Qt WebView Module

  • Ajout du plugin WebView2 pour la plateforme Windows. Le nouveau backend utilise une API COM native du navigateur Edge basé sur Chromium, appelée WebView2. Vous pouvez donc désormais fournir du contenu Web sans avoir à intégrer Qt WebEngine.

Qt Widgets Module

Qt XML Module

Qt MQTT Module

  • Ajout de la prise en charge des WebSockets/WebSockets sécurisés

Outils

Générateur de documentation QDoc

  • QDoc peut désormais ajouter automatiquement des liens « Afficher la source » à chaque déclaration d’API C++. Activez cette fonctionnalité à l’aide de la nouvelle famille de variables de configuration url.sources (url.sources.enabled, url.sources.rootdir, url.sources.linktext).
  • QDoc détecte désormais les héritages circulaires dans les types QML à l’aide de l’algorithme de détection de cycles de Floyd et signale le problème au lieu de se retrouver bloqué dans une boucle infinie.
  • Les groupes de propriétés QML définis dans les fichiers .qml sont reconnus et affichés comme une seule propriété groupée lorsque vous les documentez à l’aide des commandes \qmlproperty.
  • Les fichiers source générés par les outils Qt (moc_, uic_, qrc_, etc.) sont désormais automatiquement ignorés, ce qui réduit les temps de compilation de QDoc sur les projets volumineux.
  • Le type de données affiché pour une propriété QML dans un fichier .qml peut désormais être redéfini directement dans la commande \qmlproperty, même pour les propriétés sans alias.
  • L'option `documentationinheaders` n'est plus proposée en avant-première technologique ; elle est désormais considérée comme stable. Elle a été introduite pour la première fois dans Qt 6.9.
  • Lors de la génération de sortie DocBook, QDoc inclut désormais des notes de surcharge.
  • Les signaux et slots surchargés incluent désormais un extrait de code contextuel illustrant leur utilisation.
  • QDoc peut être lié aux bibliothèques Clang issues de LLVM 21.
  • Les fichiers .index incluent le type de retour déclaré à partir des commandes « \fn ». Cela s’avère utile pour les builds multi-projets, lorsque les auteurs redéfinissent le type de retour d’une fonction à l’aide de « auto ».
  • Vous pouvez désormais documenter vos énumérations QML à l’aide de la nouvelle \qmlenum commande. QDoc crée une nouvelle section, « Énumérations QML », dans la documentation générée.
  • L'indentation des extraits de code est désormais normalisée, ce qui supprime les espaces en excès dans la marge gauche. Cela signifie que les extraits provenant d'un code source fortement indenté (par exemple, dans une série profondément imbriquée d'instructions ` if`) s'afficheront comme s'ils n'étaient pas imbriqués.
  • QDoc analyse désormais correctement les alias de modèles avec des paramètres par défaut.
  • QDoc ne crée plus automatiquement de liens vers des fonctions obsolètes s’il existe des alternatives non obsolètes.
  • Vous pouvez empêcher la traduction automatique des chaînes de caractères à l’aide de la nouvelle commande `\notranslate`.

Qt Linguist

  • Ajout de la prise en charge de l'organisation des traductions basées sur des identifiants avec des libellés personnalisés dans Qt Linguist et lupdate.
  • Introduction d’une fonctionnalité de prévisualisation des formulaires QML dans Qt Linguist pour la validation visuelle des traductions en contexte.
  • Qt Linguist a été mis à jour avec une interface utilisateur rafraîchie, comprenant de nouvelles icônes, une palette de couleurs améliorée et une meilleure prise en charge du mode sombre.
  • lupdate et lrelease prennent désormais en charge le mélange de traductions basées sur des identifiants et de traductions basées sur du texte au sein d’un même document.
  • Suppression de l’analyseur syntaxique basé sur Clang de lupdate.
  • Prise en charge unifiée des méchaînes (commentaires tels que //: et //~) dans différents langages de programmation au sein de lupdate.
  • Ajout de nouveaux exemples d’internationalisation (i18n) à la documentation.
  • lrelease propose désormais l’option -fail-on-unfinished pour faire échouer la compilation s’il reste des traductions inachevées.
  • L'utilisation des commentaires de méta-chaînes de type « //= » pour définir des identifiants dans les traductions textuelles est désormais dépréciée.

Modifications de la plate-forme

Modifications du système de compilation

  • L'utilisation d'un module Qt privé Foo nécessite désormais un appel à ` find_package(Qt6 COMPONENTS FooPrivate) ` pour rendre la cible ` Qt6::FooPrivate ` disponible.
  • Ajout d’une option « DISCARD_FILE_CONTENTS » à « qt_add_resources() ».
  • L'option FILENAME_VARIABLE de qt6_generate_deploy_[app_]script, qui était obsolète depuis Qt 6.6.0, a été supprimée.
  • Ajout de l’argument « NO_PLUGINS » à « qt_deploy_runtime_dependencies ». Cela désactive complètement le déploiement des plugins.
  • Ajout des arguments INCLUDE_PLUGIN_TYPES, EXCLUDE_PLUGIN_TYPES, INCLUDE_PLUGINS et EXCLUDE_PLUGINS à qt_deploy_runtime_dependencies.
  • Ajout d’arguments permettant de sélectionner des plugins Qt à ` qt_generate_deploy_app_script`.
  • qt6_import_plugins n'a plus aucun effet sur le déploiement des plugins avec l'API de déploiement CMake sous Linux.
  • qt6_deploy_runtime_dependencies Prend désormais en charge les indicateurs de sélection de plugins suivants sous Linux : INCLUDE_PLUGINS, INCLUDE_PLUGIN_TYPES, EXCLUDE_PLUGINS, EXCLUDE_PLUGIN_TYPES.
  • Ajout d’une option « DISCARD_QML_CONTENTS » à « qt_add_qml_module() », qui supprime le contenu original des fichiers QML et JS du système de ressources de la cible.

Plateformes de bureau

Windows

  • Les binaires précompilés pour Windows sur ARM incluent également les options « QtWebEngine » et « QtWebView ».

Linux

  • Les binaires précompilés pour Linux sont désormais construits à l’aide de RHEL9, ce qui fait passer la version minimale requise de glibc de 2.28 à 2.34.

macOS

  • Les fenêtres qui activent la plage dynamique étendue (EDR) déclenchent désormais un événement « expose » en cas de modification de la luminosité de l'écran
  • La propriété d’accessibilité `titleUIElement` est désormais prise en charge
  • L’intégration du menu de service prend désormais en charge le texte enrichi
  • QOperatingSystemVersion::MacOSTahoe correspond à la version 26 de macOS
  • Des mappages pour « WhatsThisCursor » et « BusyCursor » ont été ajoutés
  • QImage::toCGImage() propage désormais l'espace colorimétrique de l'image

Client Wayland sous Linux

Plateformes mobiles

Android

Qt pour Android
  • Mise à jour de Gradle vers la version 8.14.2 et du plugin Gradle pour Android (AGP) vers la version 8.10.1.
  • Ajout de la prise en charge de l'écran de démarrage d'Android 12.
  • Ajout de la prise en charge des tailles de page de 16 Ko sous Android.
  • Ajout d'un exemple (QtJennyDemo) permettant d'accéder aux API Android via des wrappers C++ générés par un générateur de code (QtJenny).
  • Modification de la version maximale de la plateforme prise en charge : Android 16 (API 36).
Qt Quick pour Android
  • Ajout de la prise en charge des arguments multiples pour les signaux sous QtQuickView.
  • Ajout de la prise en charge de l'enregistrement des écouteurs de signaux avant le chargement complet du QML.
  • API Java publiques au format javadoc.

iOS

  • Ajout de la prise en charge d’ QPointingDevice s pour l’Apple Pencil
  • Correction de la rotation pour l'Apple Pencil standard
  • Ajout de la prise en charge de la fonctionnalité de survol pour l'Apple Pencil de 2e génération ou ultérieure
  • Les fenêtres qui activent la plage dynamique étendue (EDR) déclenchent désormais un événement « expose » lors d’un changement de luminosité de l’écran
  • Les demandes de mise à jour seront désormais mises en pause lorsque l'application quitte l'état actif
  • QScreen Signale désormais également les orientations d'écran inversées
  • RLIMIT_STACK reflète désormais la taille effective de la pile
  • QImage::toCGImage() propage désormais l’espace colorimétrique de l’image

Plateformes embarquées

Boot to Qt

Systèmes d’exploitation en temps réel

  • La prise en charge des systèmes d’exploitation en temps réel est assurée uniquement pour les versions LTS. Pour les versions non LTS, la prise en charge est disponible exclusivement via les Services professionnels.

Modules obsolètes dans Qt 6.10

Les modules suivants sont obsolètes. Nous déconseillons fortement de les utiliser dans du nouveau code.

Les modules Qt Charts et Qt DataVisualization sont obsolètes. Ils continuent de faire partie du logiciel sous licence et restent intégrés au projet Qt. Toutefois, pour tout nouveau code, nous vous recommandons d’utiliser Qt Graphs. Consultez également la documentation relative à la migration de {Qt Graphs depuis Qt Charts}{la migration depuis Qt Charts} et à la migration depuis Qt Data Visualization.

Pour plus d’informations sur le cycle de vie des modules dans Qt, consultez QUIP-14.

Liste des modifications apportées à l’API

Ces pages présentent un aperçu des modifications apportées à l’API dans Qt 6.10 :

Problèmes connus

Pour plus d'informations sur les problèmes connus dans Qt 6.10, consultez le wiki Qt.

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