La société Qt Company a publié la version du framework Qt 6.10, poursuivant la stabilisation et l'extension des fonctionnalités de la branche Qt 6. Qt 6.10 offre un support pour les plateformes Windows 10+, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 15.6, SUSE 15 SP6, RHEL 8.10/9.4, Debian 11.6), iOS 16+, Android 9+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS et QNX. Les codes sources des composants Qt sont fournis sous les licences LGPLv3 et GPLv2. Qt 6.10 a obtenu le statut de version intermédiaire, dont le support public sera assuré pendant 6 mois (+ encore 6 mois pour les utilisateurs commerciaux).
Principales modifications dans Qt 6.10 :
- Ajouté le type QML FlexboxLayout pour la disposition adaptative des éléments d'interface, conformément au concept Flexbox utilisé en CSS pour simplifier l'alignement vertical des éléments. L'implémentation prend en charge des concepts déjà utilisés dans Qt Quick, comme l'attachement de propriétés pour configurer le comportement d'éléments individuels dans la mise en page.
- Dans les modules Qt Quick Scene Graph et Qt Quick Shapes, des capacités ont été mises en œuvre pour travailler avec des graphiques vectoriels animés, générés à partir d'images aux formats SVG et Lottie. Le module Qt Lottie a élargi son support pour les fichiers au format Lottie. Ajout de la possibilité d'utiliser le format Lottie dans le type VectorImage pour afficher des fichiers Lottie avec mise à l'échelle et accélération matérielle.
- Le set Qt Quick Control inclut un nouvel élément SearchField, réalisant un champ de saisie spécialisé pour l'utilisation avec des fonctionnalités de recherche, permettant d'afficher des données pertinentes dans une fenêtre contextuelle, filtrées en fonction du texte déjà saisi dans le champ. L'élément prend en charge différents styles intégrés de Qt et permet d'atteindre un rendu natif pour toutes les principales plateformes.
- Ajout de classes pour faciliter l'intégration de modèles de données C++ avec QML et Qt Quick :
- QRangeModel — un wrapper autour de QAbstractItemModel pour une utilisation directe dans des éléments d'interface basés sur QML et Qt Quick de tout type énuméré en C++, y compris std::vector, std::tuples et std::array. std::vector values = {1, 2, 3, 4, 5}; auto model = new QRangeModel(values); QListView *listView = new QListView; listView->setModel(model);
- Dans le type QML DelegateModel, une propriété delegateModelAccess a été ajoutée, qui peut prendre la valeur DelegateModel.ReadWrite pour permettre l'écriture dans le modèle via les propriétés du contexte, de l'objet modèle ou des propriétés requises.
- Ajout du type QML Synchronizer, qui résout le problème de synchronisation de l'état d'un élément de contrôle avec la valeur du modèle. Le Synchronizer garantit que plusieurs propriétés contiennent la même valeur – une modification de l'une des propriétés synchronisées entraîne automatiquement la modification de toutes les autres.
- Ajout du type QML TreeModel, permettant de placer des structures arborescentes C++ directement dans un document QML, en utilisant des paires clé-valeur et une syntaxe de dictionnaires et tableaux ressemblant à JSON.
- Ajout du type QML SortFilterProxyModel, permettant de trier et filtrer des données directement depuis QML, sans utiliser de code C++.
- Dans Qt Quick 3D, élargissement des possibilités de création de cartes d'éclairage lors du rendu en haute qualité et ajout de la prise en charge de l'application inversée des effets avec des particules pour créer un effet de collision de la pluie ou de la neige avec un modèle.
- Dans Qt Graphs, ajout d'un type de surface avec remplissage et possibilité de transformer une coupe de graphiques 3D en image 2D pour impression.
- Dans Qt Widgets, simplification de la mise en œuvre des objets délégués personnalisés, amélioration de la gestion des opérations de glisser-déposer et ajout de la possibilité de personnaliser la taille des mises en page.
- Dans Qt Core, amélioration du travail avec les locales, les documents XML et les séquences d'opérations asynchrones (chaîne de continuation).
- Élargissement des outils pour les personnes handicapées. Les styles intégrés d'affichage en contraste adaptent les paramètres de contraste système afin que les applications Qt correspondent visuellement au style général. Les contrôles et les widgets Qt ont été améliorés pour une utilisation avec des lecteurs d'écran.
- Ajout de la prise en charge des plateformes mobiles Android 15 et 16, y compris la possibilité de fonctionner sur des appareils utilisant des pages de mémoire de 16 Ko.
- Présentation de l'outil Qt Jenny 1.0, qui simplifie l'intégration des applications Qt avec l'API Java d'Android et prend en charge la génération automatique de l'API C++ à partir des classes Java annotées, permettant un accès direct depuis le code Qt à des services Android tels que BatteryManager, PowerManager et AudioManager.
- Ajout de fonctionnalités pour une sortie correcte de l'écran de veille sur la plateforme Android.
- Un support complet est assuré pour les plateformes macOS 26 et iOS 26, qui utilisent le langage visuel Liquid Glass et ont modifié l'architecture de rendu.
- Le module Qt WebView sur la plateforme Windows a été amélioré pour intégrer un contenu web dans les applications Qt en utilisant le moteur WebView2 basé sur Microsoft Edge au lieu du moteur WebEngine basé sur Chromium.
- Le module Qt Multimedia a ajouté un backend pour l'utilisation de PipeWire sur la plateforme Linux. de serveurs Le stack Boot2Qt a été mis à jour et peut être utilisé pour créer des systèmes mobiles démarrables avec un environnement basé sur Qt et QML. L'environnement système dans Boot2Qt a été mis à jour vers la plateforme Yocto 5.2. Le support des plates-formes Ezurio Nitrogen a été ajouté.
- La société Qt Company a publié la version du framework Qt 6.10, dans laquelle le travail continue pour stabiliser et augmenter la fonctionnalité de la branche Qt 6.
Source : opennet.ru
