La société Qt Company a publié la version du framework Qt 6.12, dans laquelle se poursuit le travail de stabilisation et d'enrichissement des fonctionnalités de la branche Qt 6. Qt 6.12 prend en charge les plateformes Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 16, SUSE 15 SP6, RHEL 9.6/10.0, Debian 11.6/12), iOS 17+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS et QNX. Le code source des composants Qt est fourni sous les licences LGPLv3 et GPLv2.
Qt 6.12 a obtenu le statut de version LTS, pour laquelle des mises Ă jour seront Ă©mises pendant cinq ans pour les dĂ©tenteurs de licences commerciales. Pour les utilisateurs non commerciaux, la pĂ©riode de support sera de six mois (jusqu'Ă la sortie d'une nouvelle version majeure). Le support de l'ancienne branche LTS Qt 6.8 se poursuivra jusqu'en octobre 2029, tandis que le support de la branche LTS prĂ©cĂ©dente Qt 6.5 a Ă©tĂ© arrĂȘtĂ© cette annĂ©e.
Les principales nouveautés de Qt 6.12 :
- Le module Qt Canvas Painter est dĂ©sormais reconnu comme prĂȘt pour un usage Ă©tendu, fournissant une API pour le rendu 2D accĂ©lĂ©rĂ© par matĂ©riel et utilisant des shaders pour crĂ©er des effets visuels complexes. Le rendu est rĂ©alisĂ© Ă l'aide du moteur RHI (Rendering Hardware Interface), prenant en charge diverses API 3D (OpenGL, Vulkan, Metal et Direct 3D). Sur la base de Canvas Painter, un Ă©lĂ©ment expĂ©rimental Canvas2D a Ă©tĂ© mis en Ćuvre, conçu en tenant compte de la spĂ©cification HTML du contexte Canvas 2D, simplifiant l'utilisation de JavaScript pour le dessin de formes.

- Un module expĂ©rimental StyleKit a Ă©tĂ© ajoutĂ©, sĂ©parant clairement la structure des composants d'interface utilisateur et les attributs de style, ce qui permet d'Ă©liminer la duplication de code lors de la mise en Ćuvre de thĂšmes clairs, sombres et Ă fort contraste. StyleKit fournit une API QML unique pour dĂ©crire les styles, permettant d'obtenir un style uniforme dans des applications hybrides combinant des widgets classiques et des Ă©lĂ©ments basĂ©s sur Qt Quick.

- Les fonctionnalitĂ©s du module Qt Graphs ont Ă©tĂ© Ă©largies. Pour les graphiques 2D, de nouvelles propriĂ©tĂ©s ont Ă©tĂ© mises en Ćuvre pour personnaliser les Ă©tiquettes d'axes et la prise en charge des axes logarithmiques a Ă©tĂ© ajoutĂ©e. Des actions intĂ©grĂ©es pour le zoom et le panoramique ont Ă©tĂ© ajoutĂ©es. Une option pour le rendu Ă l'aide d'un backend haute performance basĂ© sur le module CanvasPainter a Ă©tĂ© ajoutĂ©e, permettant de visualiser de grands volumes de donnĂ©es en Ă©volution rapide.
- Qt Quick a ajoutĂ© des types QML Safe Area, Context Menu, Double Spin Box et Search Field pour afficher du contenu non superposĂ©, des menus contextuels, des champs de saisie de nombres et des champs d'envoi de requĂȘtes de recherche. Le type QML FlexboxLayout a Ă©tĂ© Ă©tendu, permettant la mise en page adaptative des Ă©lĂ©ments d'interface selon le concept Flexbox utilisĂ© en CSS pour faciliter l'alignement vertical des Ă©lĂ©ments.
- Le module Vector Image, permettant d'intégrer des images vectorielles dans les scÚnes Qt Quick pour créer des éléments d'interface évolutifs, a été enrichi de propriétés supplémentaires et de capacités d'animation pour les images au format SVG et Lottie.
- La classe QRangeModel, qui fournit un wrapper au-dessus de QAbstractItemModel pour une utilisation directe dans les Ă©lĂ©ments d'interface basĂ©s sur QML et Qt Quick de tous types Ă©numĂ©rables en C++, y compris std::vector, std::tuples et std::array, a Ă©tĂ© Ă©tendue. La nouvelle version intĂšgre le support du tri des donnĂ©es, de nouvelles propriĂ©tĂ©s pour contrĂŽler le dĂ©placement en mode « Drag & Drop », un accĂšs amĂ©liorĂ© via la mĂ©thode match(), ainsi que des paramĂštres pour les en-tĂȘtes et les lignes/Ă©lĂ©ments individuels.
- Dans le module gRPC, des outils pour la compression des messages du cÎté client et la limitation de la taille des messages entrants ont été ajoutés. de serveurs.
- Le moteur QML a mis en Ćuvre un mĂ©canisme de Hot Reload, permettant d'Ă©diter le code QML Ă la volĂ©e pendant l'exĂ©cution du programme et d'observer le rĂ©sultat via qmlpreview sans redĂ©marrer ni arrĂȘter l'application.
- Un support LTS a été fourni pour la plateforme HarmonyOS, facilitant le portage des applications Qt existantes sur les smartphones, tablettes, PC et systÚmes d'information et de divertissement automobiles Huawei.
- Les exigences de la loi européenne Cyber Resilience Act (CRA) ont été respectées, visant à maintenir la sécurité du produit, à remédier rapidement aux vulnérabilités tout au long du cycle de vie et à divulguer des informations sur les vulnérabilités et incidents de sécurité. Des composants critiques pour la sécurité ont été identifiés dans le code source, l'information sur les tests de sécurité a été organisée et l'intégration des versions actuelles des bibliothÚques tierces a été garantie.

Source : opennet.ru


