Sur cette page

Nouveautés de Qt 6.12

Modules nouveaux et réintroduits dans Qt 6.12

Qt 6.12 ajoute les modules et outils suivants :

  • Le module «Qt Qml Design Support », qui propose un ensemble de types permettant d’enregistrer et de référencer des objets en QML. Il est destiné aux futurs outils de conception d’ Qt Quick.

Nouvelles fonctionnalités de Qt 6.12

Module ActiveQt

Aucun changement notable.

Qt Bluetooth Module

  • Le backend Android respecte désormais les paramètres d’intervalle minimum et maximum de diffusion fournis via QLowEnergyAdvertisingParameters lors du démarrage de la diffusion BTLE.

Module Qt Canvas Painter

Qt CoAP Module

Aucune modification notable.

Qt Core Module

Qt D-Bus Module

Aucun changement notable.

Qt Graphs Module

Qt GRPC Module

Qt GUI Module

  • Ajout de la prise en charge du rendu indirect à QRhi. Il est désormais possible de créer des tampons de type IndirectDrawBuffer et d’émettre des appels de dessin indirects via QRhiCommandBuffer.
  • QRhi Ajout du drapeau de fonctionnalité ShaderDrawParameters permettant de vérifier la prise en charge des paramètres de dessin intégrés dans les shaders (par exemple, gl_DrawID).
  • Le backend Vulkan « QRhi » utilise désormais ` VK_EXT_device_fault ` pour signaler des détails supplémentaires en cas de perte de périphérique.
  • QAccessibilityHints Ajout d’une propriété « motionPreference » pour les préférences d’accessibilité relatives à la réduction des mouvements.
  • QStyleHints Ajout de toolTipWakeUpDelay, permettant aux applications d’interroger ou d’ajuster le délai avant l’apparition d’une info-bulle.
  • QImageReader Ajout de la méthode ` effectiveSize()`, qui renvoie la taille de l’image en respectant la méthode ` autoTransform()`.
  • QTextCursor::deletePreviousChar() (Retour arrière) gère désormais correctement les séquences d'émojis à plusieurs unités de code.
  • Ajout de la méthode ` Qt::InputMethodHint::ImhNoFullscreen ` pour demander que la méthode de saisie n’occupe pas tout l’écran.
  • Ajout de la méthode Qt::InputMethodHint::ImhDecimalNumbersOnly pour limiter la saisie aux nombres comprenant la virgule décimale, mais pas aux nombres négatifs.

Qt HTTP Server Le module

Qt Image Formats Module

Aucune modification notable.

Qt Lottie Animation Module

Qt MQTT Module

Aucun changement notable.

Qt Multimedia Le module

Qt Network Module

  • Introduction de QSslKeyingMaterial et de QSslConfiguration::keyingMaterial() / setKeyingMaterial() pour exposer les exportateurs de matériel de chiffrement TLS (RFC 5705).
  • QHostInfo Ajout de la fonction clearCache() pour vider le cache des résultats DNS par programmation.
  • QHttpHeaders Ajout des opérateurs de flux QDataStream, rangeValues() pour analyser l’en-tête « Range » et setRangeValues() pour le définir. La nouvelle classe QHttpHeaderRange représente une plage d’un seul octet au sein de cet en-tête.
  • Le backend OpenSSL TLS prend désormais en charge la compilation avec OpenSSL 4.

Qt Network Authorization Module

Aucun changement notable.

Qt OPC UA Module

Aucun changement notable.

Module Qt OpenAPI

  • La fonction qt_add_openapi_client() dispose désormais des options GENERATE_DOCUMENTATION et DOCUMENTATION_OUTPUT_DIRECTORY permettant de générer une documentation Doxygen en même temps que le code client.
  • Ajout de la prise en charge de la fonctionnalité « oneOf » du schéma.
  • Les accesseurs de propriétés du modèle généré ont été renommés. Q_PROPERTY expose désormais les mêmes noms de propriétés que ceux utilisés dans le fichier YAML.
  • Les méthodes de l’API client générées ne sont plus virtuelles.

Qt Positioning Le module

Qt Print Support Module

Aucun changement notable.

Qt Protobuf Module

  • Les propriétés Qt dans les classes de messages générées sont désormais marquées par défaut avec le modificateur FINAL. Cela permet aux outils QML d’appliquer des optimisations de performances et de générer un code plus efficace. Utilisez la nouvelle option GENERATE_NON_FINAL_PROPERTIES de la fonction qt_add_protobuf() pour revenir à l’ancien comportement.

Qt Qml Module

Qt Quick Module

Qt Quick Controls Module

  • Ajout du style « QtQuick.Controls.Native ». import QtQuick.Controls.Native choisit le style le mieux adapté à la plateforme pour laquelle vous compilez, au moment de la compilation. Il combine ainsi les avantages de la sélection de style au moment de la compilation avec la possibilité de donner à votre application une apparence spécifique à la plateforme.
  • ToolTip A ajouté une propriété « policy » pour contrôler la visibilité automatique des info-bulles.
  • ComboBox A ajouté une propriété « highlightOnHover ».
  • RangeSlider Ajout d’une propriété « crossingEnabled » permettant d’autoriser ou d’empêcher les deux poignées de se croiser.
  • Menu Ajout d’une propriété « separatorsCollapsible ».
  • MenuItem Affiche désormais le raccourci clavier à partir d’une propriété « Action » associée.
  • SearchField Permet désormais la navigation à l’aide des touches si son TextInput est vide.
  • Un sous-ensemble des API d’ TextField existantes a été ajouté à SearchField pour plus de commodité : selectTextByMouse, selectedText, selectionStart, selectionEnd, cursorPosition, select(), selectWord() et deselect().

Qt Quick Dialogs Module

Aucun changement notable.

Qt Quick Effects Module

Aucun changement notable.

Qt Quick Test La

Qt Quick Module 3D

  • Ajout du type QML ` SkyMaterial ` permettant de rendre un ciel procédural et de générer des données d’éclairage basées sur des images.
  • Ajout de ` QuadTextureProvider ` à l'importation ` QtQuick3D.Helpers `. Type QML utilisé pour rendre une texture quadrangulaire à l'aide d'un shader de fragment personnalisé.
  • Model A ajouté une propriété ` instancingLodFactor ` pour le contrôle manuel du niveau de détail lors de l’utilisation de l’instanciation GPU.
  • ExtendedSceneEnvironment Ajout des propriétés ` ssrThickness ` et ` ssrMaxSteps ` pour un contrôle plus fin des reflets dans l’espace écran.
  • RuntimeLoader Ajout des méthodes ` query()` et ` queryAll()` permettant de rechercher des objets par nom ou par type au sein d'une scène chargée dynamiquement.

Qt Quick Module 3D XR

  • Ajout de la prise en charge de la configuration en vue mono (XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO), permettant aux applications 3D XR Qt Quick de fonctionner sur des appareils XR 2D tels que les lunettes de RA.

Qt Quick 3D Physics Module

Qt Remote Objects Module

  • Les propriétés « registryUrl » et « persistedStore » disposent désormais de signaux de notification de modification.

Qt SCXML Module

Aucun changement notable.

Qt Sensors Module

Aucun changement notable.

Qt Serial Port Module

Aucune modification notable.

Qt Spatial Audio Module

Aucun changement notable.

Qt Serial Bus Module

Aucun changement notable.

Qt SQL Module

Aucun changement notable.

Qt SVG Module

Module StyleKit de Qt Labs

  • Lancement de QStyleKitStyle, une sous-classe de QStyle qui applique des styles basés sur StyleKit aux applications QWidget.
  • Ce style fournit désormais des implémentations pour les types Qt Quick Controls RoundButton et MenuSeparator, remplaçant ainsi la solution de secours générique.

Module Qt TaskTree

Qt Test Module

  • Les résultats des benchmarks incluent désormais la variance et l'écart-type entre les différents backends de mesure (temps, ticks CPU, événements, Valgrind).
  • L'enregistreur de benchmark en texte clair formate désormais les résultats en virgule flottante en utilisant la notation scientifique pour plus de cohérence.
  • Lorsque des fonctions de test inexistantes sont spécifiées sur la ligne de commande aux côtés de fonctions valides, les tests valides sont tout de même exécutés.

Qt Virtual Keyboard Module

Aucun changement notable.

Qt WebEngine Module

  • QWebEngineNavigationRequest a été doté d'une propriété userInitiated permettant de distinguer les navigations initiées par l'utilisateur de celles effectuées par programmation.
  • QWebEngineProfile a été enrichi de la méthode `setCryptoModulePasswordFunction()` afin de fournir une fonction de rappel pour le déverrouillage des clés matérielles PKCS#11.

Qt WebSockets Module

Aucun changement notable.

Qt PDF Module

  • QPdfSearchModel a été doté d’une propriété « status » et d’une énumération « Status » permettant d’indiquer si une recherche est en cours, en attente ou terminée.
  • QPdfView prend désormais en charge le zoom à l'aide de la molette de la souris tout en maintenant la touche Ctrl enfoncée, centré sur la position du curseur.
  • render() dispose désormais d'arguments facultatifs permettant de spécifier le format de l'image et la couleur d'arrière-plan.

Qt WebView Module

  • WebView peut désormais charger du contenu à partir du système de ressources Qt (URL de typeqrc:/ ) sur Android, iOS, macOS et Windows.

Qt Widgets Module

Qt XML Module

Aucun changement notable.

Outils

Qt Assistant

  • Qt Assistant affiche désormais correctement les diagrammes SVG en mode clair ou foncé lorsqu'un thème de couleur foncée est activé, conformément au comportement de la documentation Qt en ligne.

Outils en ligne de commande QML

  • Ajout de l'option ` --only-explicit-categories ` à ` qmllint ` pour supprimer tous les avertissements par défaut.
  • Les types non enregistrés utilisés dans les propriétés et les méthodes de types enregistrés sont désormais enregistrés dans qmltypes en tant que types « opaques ». Cela évite les avertissements dans les outils, permet le fonctionnement de la saisie semi-automatique et de la fonction « aller à la définition » dans qmlls, et permet la compilation liée vers C++ dans davantage de cas.
  • Modification de qmllint et qmlls pour qu’ils n’émettent qu’un seul avertissement concernant les types inconnus, au lieu de générer des avertissements pour chaque liaison et chaque utilisation de ce type inconnu.
  • Ajout de nouveaux avertissements dans qmllint et qmlls pour :
    • Les membres de type QML masqués.
    • Variantes de fichiers sélectionnées incompatibles (optionnelle).
    • Les types QML instanciés de manière récursive.
    • Les types QML référencés par leur nom de fichier plutôt que par leur nom dans qmldir ou QT_QML_SOURCE_TYPENAME.
    • Utilisations en JavaScript de la surcharge de ` new Array() ` prenant plus d’un argument.
  • Ajout de fonctionnalités dans l’ QML Language Server permettant de :
    • Envelopper des composants dans un chargeur via une action de code.
    • Rechercher les définitions C++ des types déclarés via QML_FOREIGN.
    • Afficher la progression lors des reconstructions en arrière-plan des informations de type QML.

Générateur de documentation QDoc

  • Concepts C++20: la nouvelle \concept génère une page de référence dédiée à un concept C++20, comprenant une liste des types et fonctions documentés qui sont soumis à ce concept. Les références aux concepts dans les synopsis C++ renvoient vers ces pages, tant dans les sorties HTML que DocBook, et les paramètres de modèle directement contraints par un concept (tels que ` template <Integral T>`) affichent le nom du concept à la place du mot-clé ` typename `. Les liens vers les concepts fonctionnent au-delà des limites des modules grâce aux fichiers ` .index `.
  • enable_ifLes contraintes SFINAE basées sur ` requires ` s’affichent sous forme de clauses ` ` lisibles au lieu de paramètres de modèle booléens opaques et sans nom, étendant ainsi la prise en charge des clauses `requires` de C++20 introduite dans Qt 6.11. Lorsqu’une fonction comporte également une clause ` requires ` explicite, les deux sont combinées.
  • Les fonctions explicitement définies par défaut et supprimées portent les balises « [default] » et « [delete] » dans le synopsis, tandis que les fonctions membres spéciales générées par le compilateur sont balisées « [implicit] ». Ces balises renvoient vers cppreference.com. Pour ces fonctions sans bloc \fn bloc, QDoc génère automatiquement de la documentation sans émettre d’avertissements. La documentation explicite remplace le texte généré, et le fait de définir la variable de configuration ` showautogenerateddocs ` sur ` false ` permet de l’omettre de la sortie.
  • QDoc fait la distinction entre les « amis cachés » — fonctions amies accessibles uniquement via une recherche dépendante des arguments — et les déclarations d’amitié qui se contentent d’accorder l’accès. Documentez les « amis cachés », y compris ceux définis hors ligne, en utilisant leur syntaxe naturelle de fonction libre, telle que ` \fn operator==(const MyClass &, const MyClass &)`, plutôt qu’un nom qualifié par la classe.
  • Un tableau unifié remplace les paragraphes épars de documentation comparative générés par l’option \compares et \compareswith , permettant de voir d’un seul coup d’œil avec quels types une classe effectue des comparaisons et quelle catégorie de comparaison s’applique à chaque relation.
  • La \a commande valide désormais les noms de paramètres de modèle. QDoc signale les paramètres de modèle non documentés dans les classes et les alias de type, ainsi que les paramètres non liés à un type ou les paramètres « modèle-modèle » non documentés dans les fonctions.
  • Personnalisez le descripteur d’état et le message générés par la \preliminary commande à l’aide de la variable de configuration préliminaire, ce qui permet d’utiliser une terminologie telle que « Technology Preview » à la place de la valeur par défaut. Les commandes d’état s’appliquent selon un ordre de priorité cohérent : « \preliminary » prévaut sur « \modulestate », et « \internal » prévaut sur les deux.
  • Un état défini sur un sujet de type « \module » ou « \qmlmodule », tel que « \preliminary » ou « \deprecated », se propage aux membres du module, sauf si un membre définit son propre état.
  • La nouvelle \qmluncreatabletype commande « topic » documente les types QML qui sont enregistrés auprès du système de types QML mais qui ne peuvent pas être instanciés. QDoc détecte également automatiquement les types annotés avec la macro QML_UNCREATABLE.
  • Les propriétés, signaux et méthodes associés sont annotés dans les pages de référence QML principales, et pas seulement dans les pages « tous les membres ».
  • La \qmlmethod commande nécessite une signature complète ; QDoc affiche un avertissement lorsque le type de retour est manquant ou que la liste des paramètres ne peut pas être analysée.
  • Les instructions `include` dans la documentation des classes reflètent les noms réels des fichiers d’en-tête signalés par Clang. Les projets utilisant des en-têtes de commodité de style Qt (tels que ` <QString>`) continuent de fonctionner automatiquement.
  • Chaque projet dispose d’un seul fichier ` .index ` dans le répertoire de sortie de base, remplaçant les copies spécifiques à chaque format situées dans les sous-répertoires dédiés. Les chemins relatifs de la variable de configuration `indexes` sont résolus par rapport à l’emplacement du fichier ` .qdocconf `, conformément aux autres variables de chemin.
  • Les fichiers HTML générés incluent des entrées d’ <meta name="keywords"> s automatiques en fonction du type de page (classe, type QML, module, exemple, etc.), ce qui facilite le post-traitement et la génération du plan du site. Les blocs de code comportent des balises compatibles avec la coloration syntaxique de highlight.js.
  • Petites améliorations apportées à la rédaction de la documentation : utilisez \metaqdoc-suppress-inheritance pour supprimer la ligne « Inherits: » pour les types héritant d’une classe de base, à des fins de documentation uniquement ; \list prend en compte les valeurs de départ égales ou inférieures à zéro ; \# représente un caractère littéral « # » dans les cibles de liens de type \l; et \details impose son argument de résumé délimité par des accolades, tel que documenté.
  • Ajout de la compatibilité avec LLVM/Clang 22.

Qt Linguist

  • lupdate conserve désormais les fins de ligne existantes dans les fichiers .ts. Sous Windows, les fichiers dont les fins de ligne sont au format CRLF sont mis à jour sur place avec CRLF ; les fichiers dont les fins de ligne sont au format LF et les nouveaux fichiers conservent le format LF.
  • Qt Linguist Dispose d’une nouvelle option -web-help permettant d’utiliser la documentation en ligne si souhaité.

Resource Compiler (rcc)

  • rcc déduplique désormais les données de ressources à l'aide d'un hachage SHA256 basé sur le contenu. Les fichiers identiques intégrés dans une collection de ressources Qt ne sont stockés qu'une seule fois, ce qui réduit la taille des ressources compilées sans aucune modification du code source de l'application.

Modifications apportées à la plateforme

Modifications du système de compilation

Compilation de Qt

  • La compilation de Qt nécessite désormais CMake 3.25 ou une version ultérieure.
  • Ajout de la fonctionnalité CMake « static_compiler_runtime » pour lier statiquement les bibliothèques d'exécution C++. Sous Windows (MSVC), cette fonctionnalité utilise la méthode Hybrid CRT, supprimant ainsi la dépendance vis-à-vis du package de redistribution Visual C++.
  • La compilation de Qt pour Android utilise désormais Gradle au lieu d'appeler directement ` javac ` pour les cibles JAR de Qt.

API CMake

Plateformes de bureau

Windows

  • Les projets CMake génèrent et intègrent désormais automatiquement un manifeste d’application pour les exécutables Windows compilés avec qt_add_executable(). Ce manifeste déclare la compatibilité avec Windows 10/11, prend en charge les chemins d’accès longs et configure le niveau d’exécution de l’UAC. Deux nouvelles propriétés de cible CMake contrôlent le manifeste généré : QT_WINDOWS_APP_PROJECT_IDENTIFIER définit le nom d’identité de l’assembly, et QT_WINDOWS_APP_PROJECT_EXECUTION_LEVEL définit le niveau d’exécution. Voir Qt pour Windows - Déploiement pour plus de détails.
  • windeployqt dispose désormais des options --appx et --appx-certificate pour générer un fichier « AppxManifest.xml » adapté au packaging en tant que package appx du Windows Store.
  • QOperatingSystemVersion::Windows11_25H2 (10.0.26200) est ajouté en tant que constante de version d’OS nommée.
  • Sous Windows, le plugin de plateforme détermine désormais l’espace colorimétrique de chaque écran à partir de son profil ICC via ColorProfileGetDisplayDefault, au lieu de toujours renvoyer sRGB.
  • Le backend de polices DirectWrite lit désormais la table GASP de chaque police pour sélectionner la stratégie d’anticrénelage appropriée en fonction de la police et de la taille des caractères, ce qui correspond davantage à l’intention du concepteur de la police.
  • Le cache disque des shaders est réactivé pour les pilotes GPU Intel actuels. Il avait été désactivé sans condition pour les cartes graphiques Intel sous Windows depuis plusieurs années ; une vérification de la version du pilote est désormais utilisée à la place, ce qui améliore les performances 3D d’ Qt Quick sur le matériel Intel moderne.
  • QWizard Le style « Aero Wizard » n’est plus appliqué lorsque le système est en mode sombre, car il ne s’affiche pas correctement dans ce mode.
  • ARM64EC est désormais entièrement pris en charge par Visual Studio 2026. Il n’existe pas de packages d’installation. Certains modules tels qu’ Qt WebEngine, Qt WebView et Qt Quick 3D Physics ne sont pas pris en charge.

Linux

  • QDesktopServices::openUrl() privilégie désormais le service de portail de bureau XDG org.freedesktop.portal.OpenURI, s’il est disponible, plutôt que xdg-open et les autres solutions de secours. Le portail peut se comporter différemment des applications utilisées auparavant.
  • Les solutions de secours utilisées lorsqu’aucun portail n’est disponible ont été mises à jour : kde-open de Plasma 6 est désormais reconnu, tandis que la prise en charge de kfmclient, datant de l’ère KDE 3, a été supprimée.
  • La nouvelle propriété motionPreference est renseignée à partir des paramètres du bureau : la clé reduced-motion dans l’espace de noms org.freedesktop.appearance du portail, et le paramètre GNOME org.gnome.desktop.interface enable-animations .
  • La boîte de dialogue native des polices GTK3 prend désormais en compte les options de filtrage des polices de QFontDialog, tant pour les polices redimensionnables par rapport aux polices non redimensionnables que pour les polices à espacement fixe par rapport aux polices proportionnelles.
  • Le pont d'accessibilité AT-SPI informe désormais les technologies d'assistance des modifications apportées aux états « développé » et « extensible ».
  • Les polices ajoutées à partir des ressources Qt sont à nouveau correctement enregistrées lors de l’exécution avec fontconfig 2.17.1 ou une version ultérieure.
  • Sous X11, les fenêtres d’info-bulle ne sont plus recréées à chaque fois qu’elles s’affichent.
  • QNetworkProxy comprend désormais le schéma « socks5h » dans les variables d’environnement « *_PROXY » lors de l’utilisation du backend libproxy.

macOS

  • QScreen::grabWindow() utilise désormais ScreenCaptureKit à la place de l’ CGDisplayCreateImageForRect, qui est obsolète. Une demande d’autorisation s’affichera lors de la première utilisation de l’API.
  • QWindows Les NSViews enfants non retournés conservent désormais leur position par rapport au coin supérieur gauche de la superview lorsque celle-ci est redimensionnée.
  • QCocoaNativeInterface::setEmbeddedInForeignView() Il n’est plus nécessaire ni pris en charge d’intégrer une hiérarchie de vues Qt dans une NSView étrangère. Qt gère désormais cela automatiquement.
  • Les applications en mode « sandbox » compilées à partir d’une version statique de Qt sont désormais relocalisables par défaut sur les plateformes Apple.
  • QMainWindowLe mode unifié de titre et de barre d'outils est désormais implémenté via ` Qt::ExpandedClientAreaHint ` et ` Qt::NoTitleBarBackgroundHint ` au lieu du style texturé ` NSWindow `, désormais obsolète.
  • QStandardPaths::standardLocations() inclut désormais le répertoire système /Library/Preferences pour ConfigLocation, GenericConfigLocation et AppConfigLocation.

Client Wayland sous Linux

  • Ajout de la prise en charge de l’extension de protocole Wayland « XdgSessionManager » pour la restauration de session.
  • Le thème de décoration côté client « bradient » affiche désormais des infobulles pour les boutons de réduction, d’agrandissement et de fermeture.

Compositeur Wayland

  • Ajout de la prise en charge du protocole stable linux-dmabuf-v1, version 4. Pour l’utiliser, sélectionnez « linux-dmabuf-v1 » comme intégration de tampon client. L’implémentation précédente (version 3) peut toujours être utilisée sous le nom « linux-dmabuf-unstable-v1 » à des fins de compatibilité.

HarmonyOS

Qt 6.12 introduit la prise en charge d’HarmonyOS (niveau d’API OpenHarmony 23, HarmonyOS 6.1.0) en tant qu’aperçu technologique. Vulkan est pris en charge, tandis que l’accessibilité et EmbeddedUIExtensionAbility ne sont pas encore disponibles.

Les outils et fonctions CMake suivants sont fournis pour faciliter la compilation et le déploiement d'applications Qt sur HarmonyOS :

  • harmonydeployqt empaquette une application Qt sous la forme d’un paquet d’application HarmonyOS (HAP), copie les bibliothèques et plugins Qt requis, génère les métadonnées d build-profile.json5 et de module.json5, et prend en charge l’intégration de la configuration de signature HAP.
  • harmonyostestrunner exécute les autotests Qt sur un appareil HarmonyOS connecté ou un émulateur via hdc, déclenchés depuis ctest.
  • qt_add_harmonyos_permission() déclare les autorisations HarmonyOS requises par l'application.

Les principales propriétés des cibles CMake pour le déploiement sur HarmonyOS sont les suivantes :

Pour obtenir la liste complète des limitations connues de la plateforme, consultez la page wiki consacrée aux limitations de la plateforme Qt pour HarmonyOS.

Plateformes mobiles

Android

Qt pour Android
  • Mise à jour de Gradle vers la version 9.5.1 et du plugin Gradle pour Android vers la version 9.2.1.
  • Mise à jour de la version SDK cible par défaut vers Android 17 (niveau d'API 37).
  • Ajout de la prise en charge du geste prédictif « Retour » sur Android 13 et versions ultérieures. Qt transmet les événements « Retour » via OnBackInvokedCallback et active par défaut l’attribut de manifeste « android:enableOnBackInvokedCallback ».
  • Ajout de la prise en charge des builds Gradle multi-modules, activée via QT_ANDROID_GRADLE_MULTI_MODULE. Il s’agit de la base de Play Feature Delivery. CMake gère l’ensemble du pipeline de déploiement sans androiddeployqt ni outils tiers, ce qui rend les builds plus rapides et plus simples.
  • La variable CMake QT_USE_ANDROID_MODERN_BUNDLE a été dépréciée au profit de QT_ANDROID_GRADLE_MULTI_MODULE. L’ancien nom est toujours reconnu à des fins de compatibilité ascendante.
  • Ajout de la prise en charge des suggestions de méthode de saisie « Qt::InputMethodHint::ImhNoFullscreen », « ImhDecimalNumbersOnly » et « ImhNoEditMenu ».
  • Appuyer sur la touche « Retour » place désormais l’application en arrière-plan au lieu de la fermer ; voir « Touche Retour » et « Geste de retour ».
  • Améliorations de l'accessibilité pour TalkBack :
    • Qt réagit désormais à l’action « ACTION_SHOW_ON_SCREEN ».
    • Qt signale désormais les changements de zone d'affichage et de position de défilement.
    • Qt prend désormais en charge les états « expandable » et « expanded ».
    • Le clavier virtuel ne s’ouvre plus lorsque le focus d’accessibilité se déplace vers un champ de saisie de texte.
    • L'indication « motionPreference » reflète désormais le paramètre « Remove animations » du système.
  • androidtestrunner reconnaît désormais les options « --serial » et « --output », détecte les déconnexions d’appareils pendant l’exécution d’un test et affiche des diagnostics améliorés en cas de plantage ou de « Application ne répond pas » (ANR).
  • Qt déploie désormais automatiquement les bibliothèques OpenSSL lorsque la version intégrée de FFmpeg en a besoin, en les localisant via OPENSSL_ROOT_DIR ou vcpkg.
  • Le modèle Gradle n’impose plus l’utilisation d’ resConfig "en".
Qt Quick pour Android

iOS

  • QStandardPaths::PublicShareLocation renvoie désormais <APPROOT>/Public (correspondant à NSSharedPublicDirectory) au lieu du chemin d'accès précédemment généré à l'intérieur du répertoire Documents.
  • standardLocations(PicturesLocation) ne contient plus d'entrée en double pour le chemin d'accès « Documents/Pictures » accessible en écriture.
  • QStandardPaths::TemplatesLocation est désormais correctement signalé comme non pris en charge sur iOS, conformément à la documentation existante.

Plates-formes embarquées

Boot to Qt et Qt Onboard

  • À partir de Qt 6.12 LTS, les images précompilées d’ Boot to Qt ne sont plus disponibles au téléchargement via Qt Online Installer ni depuis votre compte Qt.

    À la place des binaires, deux versions basées sur des conteneurs sont désormais proposées :

    • Un conteneur de compilation: un environnement prêt à l'emploi dans lequel tous les outils de compilation nécessaires sont préinstallés, permettant de créer rapidement des images Linux basées sur Yocto pour votre matériel cible.
    • Un conteneur de démo: il contient le Qt Demo Launcher ainsi qu’un ensemble soigneusement sélectionné de démos qui mettent en avant les capacités de Qt dès leur installation.

    Les conteneurs sont introduits par étapes au cours du cycle de publication des correctifs de Qt 6.12 LTS, la distribution complète basée sur des conteneurs étant mise en place avant la sortie de la version Qt 6.12.4.

  • Nouvelles plateformes :
    • Orange Pi 2
    • NXP i.MX95
    • Qualcomm Dragonwing IQ6
    • Qualcomm Dragonwing IQ9
    • Renesas RZ/G3E

Systèmes d'exploitation en temps réel

QNX
  • Ajout de la prise en charge de Vulkan sur QNX.
  • Qt Multimedia La compilation s'effectue désormais sur QNX 8.0. La lecture et l'enregistrement audio ne sont pas encore disponibles, car le backend audio n'a pas encore été implémenté pour QNX SDP 8.0.
VxWorks
  • Ajout de la prise en charge de VxWorks 26.03.

WebAssembly

  • QAudioSource et QAudioSink utilisent désormais le backend AudioWorklets de l’API Web Audio à la place d’OpenAL, ce qui permet une capture audio à faible latence native du navigateur.
  • Les images vidéo sont désormais transférées vers WebGL via texImage2D pour un rendu sans copie lors de l'utilisation de Qt Quick.
  • Ajout de la prise en charge d’ QCameraFormat.

Liste des modifications apportées aux API

Ces pages présentent un aperçu des modifications apportées aux API dans Qt 6.12 :

Problèmes connus

Pour plus d'informations sur les problèmes connus dans Qt 6.12, 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.