Nouveautés de Qt 6.2
Modules nouveaux et restaurés dans Qt 6.2
Qt 6.2 ajoute le module suivant :
- QtQuick.Dialogs - Un module QML qui fournit des dialogues natifs avec un fallback Qt Quick sur les plateformes où Qt n'en fournit pas. FileDialog et FontDialog sont disponibles dans cette version.
Qt 6.2 réintroduit les modules suivants qui n'étaient pas présents dans Qt 6.1. Tous les modules listés ont été portés sur Qt 6 et le système de construction CMake.
Une liste plus détaillée des changements apportés à chaque module peut être trouvée dans Changements apportés aux modules de Qt dans Qt 6.
- Qt Bluetooth
- La prise en charge de BlueZ 4 a été supprimée.
- Le backend Win32 a été supprimé. En conséquence, il n'y a plus de support pour Qt Bluetooth utilisant Mingw-w64.
- L'API QML a été supprimée.
- QBluetoothTransferManager et les classes associées ont été supprimés.
- La fonctionnalité relative aux agents d'appariement a été supprimée de QBluetoothLocalDevice.
- Qt Multimedia
- Qt Multimedia L'API publique est constituée de cinq grands blocs fonctionnels. Chaque API a subi des modifications importantes par rapport à Qt 5 :
- Découverte de l'appareil
- Audio de bas niveau
- Lecture et décodage
- Capture et enregistrement
- Pipeline de sortie vidéo
- Supports actuellement pris en charge :
- Linux : GStreamer
- Windows : WMF
- macOS/iOS : AVFoundation
- Android : MediaPlayer et Camera APIs
- Qt Multimedia L'API publique est constituée de cinq grands blocs fonctionnels. Chaque API a subi des modifications importantes par rapport à Qt 5 :
- Qt NFC
- Suppression du support pour Linux/NearD.
- Ajout de la prise en charge pour iOS.
- Qt Positioning
- Beaucoup de propriétés ont été rendues bindables.
- Renommé QGeoPolygon::path() en QGeoPolygon::perimeter.
- QGeoLocation utilise maintenant QGeoShape au lieu de QGeoRectangle comme zone de délimitation.
- Le signal
error()dans plusieurs classes de positionnement a été renommé enerrorOccurred(). - QGeoPositionInfoSourceFactoryV2 a été supprimé, et QGeoPositionInfoSourceFactory supporte maintenant les paramètres personnalisés pour les objets créés.
- Le support NMEA a été revu. Le plugin serialnmea a été renommé en nmea et prend désormais en charge la lecture du flux d'entrée à partir d'un socket TCP ou d'un fichier brut. La propriété
nmeaSourcea été supprimée.
- Qt Remote Objects
- Le backend de connexion locale prend désormais en charge les espaces de noms abstraits (il s'agit d'une extension spécifique à Linux), en utilisant le nouveau schéma
localabstractdans l'URL. .repLes fichiers -files prennent désormais en charge :- les énums de classe.
- QFlags.
- Les commentaires multilignes (style C).
- Les enums et flags sont désormais pris en charge dans les types POD et comme clés pour les propriétés QMap et QHash dans les fichiers
.rep.
- Le backend de connexion locale prend désormais en charge les espaces de noms abstraits (il s'agit d'une extension spécifique à Linux), en utilisant le nouveau schéma
- Qt Sensors
- La plupart des propriétés orientées QML sont désormais liables.
- Sensor::type Les propriétés "B" et " QSensor::type " sont désormais marquées comme constantes.
- Ajout d'un paramètre à QSensorBackend::sensorBusy() pour pouvoir également effacer l'état occupé.
- Suppression du typedef pour qtimestamp.
- Renommé la chaîne du capteur
typeensensorType. - Windows : Nous pouvons maintenant demander l'API Windows 10, ce qui augmente le nombre de capteurs pris en charge.
- Le TI Sensor Tag comme plateforme supportée a été supprimé.
- Le backend Linux
sysfsa été supprimé. - La prise en charge des gestes des capteurs a été supprimée (les commentaires sont les bienvenus ici : QTBUG-97066).
- Sensorfw en tant que plateforme a été supprimé car Sensorfw lui-même n'a pas encore été porté sur Qt 6.
- Les types de capteurs qui n'avaient qu'un backend Sensorfw (IRProximity, Lid, et Tap) ne sont plus listés comme supportés.
- Les types de capteurs sans backend ont été supprimés (Altimètre, Distance, et Holster).
- Qt Serial Bus
- QCanBusFactory a été supprimé et QCanBusFactoryV2 a été renommé en QCanBusFactory.
- QModbusRtuSerialSlave et QModbusRtuSerialMaster ont été renommés en QModbusRtuSerialServer et QModbusRtuSerialClient.
- Qt Serial Port
- Qt WebChannel
- QWebChannel Les propriétés de QModbusRtuSerialSlave ont été rendues liables.
- L'intervalle de mise à jour des propriétés de QWebChannel peut maintenant être configuré. L'intervalle de mise à jour de 50 ms reste la valeur par défaut.
- QWebChannel prend désormais en charge les mises à jour des propriétés BINDABLES. Cependant, le côté client ne fournit pas de mécanisme de rappel générique si la propriété hôte n'a pas de signal NOTIFY.
- Les signaux provenant d'objets vivant dans un thread différent sont maintenant gérés correctement(QTBUG-51366).
- Qt WebEngine
- Le sous-module pour Qt Quick a été renommé de QtWebEngine à QtWebEngineQuick.
- Plusieurs classes ont été déplacées de QtWebEngineWidgets à QtWebEngineCore, y compris QWebEnginePage.
- Certaines fonctionnalités qui n'étaient auparavant accessibles qu'en dérivant de QWebEnginePage sont maintenant accessibles en utilisant des signaux synchrones.
- L'API Favicon a été ajoutée à QWebEngineProfile pour rechercher des icônes pour des URL spécifiques.
- La nouvelle classe QWebEngineLoadingInfo fournit plus de détails sur le succès ou l'échec du chargement.
- Qt WebSockets
- Qt WebView
Nouvelles fonctionnalités de Qt 6.2
Qt Core Module
- Fonctionnalité ajoutée :
- Ajout de QByteArrayView::compare().
- Ajout des méthodes QFlags::test(Any)Flag(s).
- Ajout de QHashSeed pour contrôler le hachage (les graines sont maintenant des size_t) ; cela remplacera qGlobalQHashSeed et qSetGlobalQHashSeed.
- Ajout des macros PRIxQTDATATYPE pour faciliter le formatage de type printf()sans casts ni avertissements.
- De nombreuses propriétés sont désormais liables.
- Les grappes de graphèmes peuvent maintenant gérer les emojis.
- Les chemins UNC et les partages de réseau sous Windows sont désormais gérés de manière cohérente.
- La gestion du paramètre start-offset, appelé
from, dans diverses méthodesindexOf()etlastIndexOf()de conteneurs (principalement QString, QByteArray et leurs vues) est maintenant plus cohérente. - Comme QString::number() depuis la sortie de Qt 6.0, les surcharges de QByteArray::number() pour les types d'intégrales signées renvoient maintenant un texte avec un signe moins suivi de la valeur absolue du nombre au lieu de contraindre à un type non signé pour toutes les bases sauf dix, quand on leur passe un entier négatif et n'importe quelle base supportée.
- QCalendar supporte maintenant la construction à partir de l'ID d'un backend personnalisé.
- QChar, QPoint, et QPointF sont maintenant primitifs plutôt que simplement relocalisables.
- QCoreApplication::exit() est maintenant, comme quit(), un slot (comme la documentation l'a longtemps affirmé) ; même chose pour QEventLoop et QThread.
- QDateTime prend désormais en compte les fuseaux horaires dans toute la plage de time_t (dans la mesure où la plate-forme fournit cette information), au lieu de limiter artificiellement la plage à 1970 - 2037.
- Amélioration du comportement de type valeur de QFlags, qui est maintenant utilisé plus systématiquement.
- Lors de la construction pour C++20, QList (donc aussi QVector) est maintenant un
contiguous_iterator, satisfaisantcontiguous_range. - Les méthodes QLocalSocket::waitFor*() ont été conçues pour supporter les opérations duplex sous Windows (comme elles le faisaient déjà sous Unix).
- Ajout de surcharges std::chrono aux méthodes QLockFile, évitant les conversions inutiles entre l'heure UTC et l'heure locale.
- QString peut maintenant être construit à partir de char8_t (quand il est disponible).
- La priorité des threads de QThreadPool est configurable ; les threads partagent le nom du pool s'il en a un.
- Beaucoup de corrections de bugs, de nettoyage et d'améliorations de la documentation.
Qt GUI Module
- Ajout de formats d'images en virgule flottante à QImage pour les flottants 16 bits et 32 bits.
- La conversion d'images RVB en, ou la peinture de couleurs RVB sur, des images à échelle de gris est maintenant corrigée en fonction du gamma et produit les valeurs de luminance de l'espace colorimétrique d'entrée.
- L'attribut CSS text-decoration-color est désormais pris en charge dans les travées de texte riche avec soulignés, surlignés et barrés.
Qt Quick Module
- Ajout de la prise en charge de la sélection de cellules dans une page TableView en lui attribuant une adresse ItemSelectionModel.
Qt Quick Module Contrôles
- Ajout d'un nouveau contrôle : SelectionRectangle. Ce contrôle peut être utilisé pour sélectionner des cellules dans un TableView en utilisant un rectangle de sélection stylisé.
Qt Widgets Module
- Ajout de PM_LineEditIconSize, une nouvelle valeur enum QStyle::PixelMetric qui permet aux styles de définir une taille par défaut pour les icônes dans un QLineEdit.
- La nouvelle méthode QGraphicsSceneEvent::timestamp renvoie l'horodatage de l'événement original, le cas échéant.
- QGraphicsSceneWheelEvent::phaseLes nouvelles méthodes QGraphicsSceneWheelEvent::pixelDelta, et QGraphicsSceneWheelEvent::isInverted renvoient les attributs respectifs de l'événement original QWheelEvent.
Qt Network Module
- QSslSocket
- Les backends TLS qui étaient auparavant (dans Qt 6.1) convertis en classes de type plugin, ont été déplacés hors de QtNetwork et implémentés comme de vrais plugins.
- Plusieurs backends TLS peuvent maintenant coexister au moment de l'exécution, par exemple, OpenSSL et Schannel, ou OpenSSL et SecureTransport.
- QNetworkInformation
- Introduction de isBehindCaptivePortal, une nouvelle propriété qui peut être utilisée pour déterminer si l'utilisateur est connecté à un réseau avec un portail captif.
Qt QML Module
- Langage de base
- Ajout du support pour le chaînage optionnel.
- Ajout de casts : ceux-ci aident principalement l'outillage mais peuvent également être utilisés pour remplacer du code tel que
return (obj instanceof Item) ? obj.width : 42par(obj as Item)?.width ?? 42. - Ajout de la prise en charge des annotations de dépréciation dans les fichiers QML, permettant aux types et aux propriétés d'être marqués comme dépréciés à l'aide de
@Deprecated.
- Système de modules
- Ajout de la directive
preferdans les fichiers qmldir. Cette directive est générée automatiquement par CMake et fait en sorte que le module QML soit chargé à partir du système de fichiers de ressources. Cela permet d'utiliser des fichiers QML compilés à l'avance. - Ajout de la variable d'environnement
QML_IMPORT_PATHcomme meilleure alternative à la variableQML2_IMPORT_PATH.
- Ajout de la directive
- Ajout d'une API CMake publique pour les modules QML :
qt_add_qml_module().- Prend en charge la génération de
qmldiretqmltypes. - Peut créer automatiquement un plugin si un plugin n'enregistre que des types.
- Support intégré pour une cible de linting.
- Prend en charge la génération de
- Outils QML
qmllint- Ajout d'un paramètre granulaire pour la sévérité des avertissements ; les avertissements peuvent être entièrement désactivés, rendus uniquement informatifs, ou conduire à un code de sortie non nul.
- Ajout d'un fichier de configuration (.qmllint.ini) pour configurer les niveaux d'avertissement répertoire par répertoire. Un fichier de configuration par défaut peut être généré à l'aide de
qmllint --write-defaults. - Les avertissements peuvent maintenant être désactivés dans les blocs via les commentaires ;
//qmllint enable/disable <warning-type1> <warning-type2...> - Amélioration considérable des performances lors de l'évaluation des fichiers, en particulier lors de l'évaluation de plusieurs fichiers avec de nombreuses importations.
- Ajout de la prise en charge de la sortie JSON pour une utilisation dans l'outillage.
qmlformatqmlformatutilise maintenant notre nouvelle bibliothèque qmldom et devrait généralement produire de meilleurs résultats.
Qt Quick Module 3D
- Ajout de la prise en charge du rendu instancié, une manière optimisée de dessiner plusieurs instances des mêmes objets avec des transformations différentes.
- Ajout des particules 3D, une API permettant d'ajouter des effets de particules aux scènes 3D. Cela inclut une prévisualisation technologique des particules de mélange de modèles.
- Ajout de Qt Quick Événements d'entrée pour les objets 2D en 3D, à la fois dans la scène et dans les textures.
- Ajout d'une API pour le prélèvement basé sur les rayons à partir de points arbitraires dans la scène.
- Ajout de RuntimeLoader, permettant de charger des fichiers glTF2 au moment de l'exécution.
- Mise en œuvre de la cartographie de l'occlusion parallaxe: Permet l'utilisation de cartes de hauteur sans le coût de l'ajout de géométrie.
- Mise en œuvre du mode de dessin de la profondeur sur les matériaux : Permet un contrôle précis du rendu de la profondeur pour un matériau.
Qt Data Visualization Module
- Correction du mode de rendu de l'arrière-plan.
- RenderDirectToBackground_NoClear est obsolète car le choix de ne pas effacer la fenêtre n'est plus une option dans Qt 6.
- Beaucoup de corrections de bugs mineurs.
Qt Charts Module
- Ajout de nouvelles formes de marqueurs dans QScatterSeries et QLegend.
- Ajout d'une fonctionnalité de marqueur léger à QXYSeries et QLegend. Il s'agit d'un rendu plus léger des points.
- Ajout de la possibilité de sélectionner des points dans une série via des appels de méthode à QXYSeries et QBarSet.
- Possibilité de définir une couleur ou d'utiliser un marqueur lumineux personnalisé pour les points sélectionnés dans QXYSeries.
- Ajout d'une possibilité de définir une couleur à utiliser pour les barres sélectionnées dans QBarSet.
- Ajout d'une fonctionnalité permettant d'afficher une ligne de meilleur ajustement dans une page QXYSeries.
- Ajout d'une fonctionnalité permettant de personnaliser l'aspect des points individuels dans une fenêtre QXYSeries. Cette fonctionnalité permet de définir la visibilité, la visibilité de l'étiquette et la taille de chaque point.
- Ajout d'une méthode sizeBy() à QXYSeries qui ajuste la taille des points d'une série en fonction des valeurs transmises.
- Ajout d'une méthode colorBy() à QXYSeries qui ajuste la couleur des points d'une série en fonction des valeurs passées et d'un dégradé.
- Ajout d'une nouvelle classe d'axe QColorAxis pour prendre en charge la fonction colorBy(), affichant une échelle de couleurs.
- Ajout de la possibilité de désactiver la troncature des étiquettes dans les axes.
- Amélioration des performances grâce à la mise en cache des limites de texte récemment utilisées.
- Ajout d'un support interactif à QLegend via une méthode setInteractive(). Une fois activée, cette méthode permet de détacher la légende par un double-clic. Une fois détachée, la légende peut être déplacée et redimensionnée, et rattachée à un côté du graphique en la faisant glisser hors du bord.
- Ajout du signal attachedToChartChanged() à QLegend.
- Mise à jour de l'exemple de légende.
Qt for Python
- De nouveaux exemples, tutoriels et vidéos ont été ajoutés à la documentationQt for Python .
- Compatible avec Python 3.10rc2.
- Ajout des modules QtDBus, QtNetworkAuth, et QtBluetooth.
- Ajout d'une nouvelle fonctionnalité Shiboken, Opaque Containers, pour éviter de copier les conteneurs C++ dans Python pour les utiliser.
- Vous pouvez maintenant utiliser
qtpathsau lieu deqmakelorsque vous compilez PySide à partir des sources. - Ajout de la prise en charge de std::function pour certaines méthodes de QThreadPool.
- Ajout de nouvelles fonctions QML ainsi que le support de qmlRegisterSingletonInstance.
Changements dans les plateformes
Plateformes de l'aperçu technologique
Windows sur ARM
- Ajout de Windows on ARM64 en tant que plateforme d'aperçu technologique.
- Prise en charge en tant que cible de construction ; pas encore de prise en charge de l'hôte.
- Limitations connues :
- Pas encore de prise en charge de Qt WebEngine; pas de prise en charge officielle de Chromium.
- Pas encore de support pour SSL ; pas de support officiel pour OpenSSL.
Plates-formes de bureau
macOS sur Apple Silicon
- Support officiel ajouté en tant que plateforme cible et hôte.
- Les bibliothèques du SDK Qt sont construites en tant que binaires universels.
- Limitations connues :
- Le support SSL est manquant.
- Les plugins de base de donnéespostgresql et odbc sont manquants(QTBUG-93204).
- Le support JIT est manquant(QTBUG-93206).
Client Wayland sous Linux
- Un geste de pincement du pavé tactile génère maintenant un zoom et une rotation QNativeGestureEvents si le compositeur les envoie via le protocole pointer-gestures-unstable-v1. Cela permet à Qt Quick PinchHandler de fonctionner via des gestes de pincement du pavé tactile. Les gestes à deux, trois ou quatre doigts sont reconnus. Un geste de type Qt::PanNativeGesture peut être généré en balayant avec trois ou quatre doigts. Un glissement à deux doigts génère toujours QWheelEvents comme auparavant.
Plates-formes mobiles
Android
- Certaines des méthodes précédemment sous l'espace de noms QtAndroid dans QtAndroidExtras (par exemple, sdkVersion() et context()), ont été déplacées à QNativeInterface::QAndroidApplication.
- Mise en œuvre d'une nouvelle API pour les permissions à l'adresse QCoreApplication.
- Les API restantes de QtAndroidExtras ont été laissées en tant qu'API privées dans qtbase jusqu'à ce que des alternatives multiplateformes (pour Intents, Services, etc.) soient en place.
- Suppression du code Ministro obsolète car il n'est plus supporté par Android.
- Simplification d'AndroidManifest.xml pour ne contenir que les balises pertinentes pour l'utilisateur, ce qui facilite la maintenance et réduit l'encombrement.
- QCDebug() et ses amis utilisent maintenant la catégorie comme balise dans le logcat Android.
- Mise à jour du plugin Android Gradle vers la version 4.1.3.
- Correction d'un bogue de l'API non-SDK avec le style(QTBUG-71590), bien que le style Android pour les widgets sur Android 9+ soit toujours affecté(QTBUG-96149).
- La targetSdkVersion par défaut est fixée à 30 conformément aux exigences du Google Play Store.
- La version des outils de construction et la version de la plateforme utilisées sont augmentées à 30.
- QDesktopServices Les gestionnaires personnalisés sont maintenant activés et vous permettent de travailler avec les liens d'applications Android, par exemple.
- Ajout d'informations permettant aux applications de déterminer la source d'une intention sans créer leur propre extension de QtActivity.
- Correction des importations pour les modules QML et ajout de la possibilité de plusieurs chemins racine QML.
- Correction des constructions Vulkan sur Android.
iOS
- Amélioration de la prise en charge de CMake.
- Problèmes connus :
- Absence du storyboard de l'écran de lancement par défaut.
- Les bibliothèques personnalisées ne s'installent pas(QTBUG-95381).
Plateformes embarquées
Disponible sous la licence Qt for Device Creation.
Boot to Qt
- La pile Boot to Qt a été mise à jour pour utiliser Yocto 3.3 (Hardknott).
- Ajout de l'Intel NUC10 (64bit i5 x86) comme cible de référence.
- Ajout de la NVidia Jetson Tegra X2 comme cible.
QNX
- Ajout de QNX version 7.1 et Ubuntu 20.04 comme hôte.
- Ajout de NXP iMX8QM comme cible de référence.
INTEGRITY
- Ajout de la version 19.0.13 d'INTEGRITY et d'Ubuntu 20.04 en tant qu'hôte.
- Ajout du Qualcomm Snapdragon 8155P comme cible de référence.
WebOS
Qt 6.2 a été vérifié pour fonctionner avec LG webOS OSE 2.13.1 en utilisant Ubuntu 20.04 comme hôte de développement et le matériel Raspberry Pi4.
Liste des modifications de l'API
Ces pages contiennent une vue d'ensemble des changements de l'API dans Qt 6.2 :
© 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.