La société Qt Company a publié la version 6.3 du framework Qt, poursuivant le travail de stabilisation et d'enrichissement des fonctionnalités de la branche Qt 6. Qt 6.3 offre un support pour les plateformes Windows 10, macOS 10.14+, Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 13+, Android 6+ (API 23+), webOS, INTEGRITY et QNX. Le code source des composants Qt est fourni sous les licences LGPLv3 et GPLv2.
Principales modifications dans Qt 6.3 :
- Le module Qt QML propose une implémentation expérimentale du compilateur qmltc (QML type compiler), permettant de compiler des structures d'objets QML en classes en C++. Pour les utilisateurs commerciaux, Qt 6.3 propose le produit Qt Quick Compiler, qui inclut, en plus du QML Type Compiler mentionné ci-dessus, le QML Script Compiler, permettant de compiler des fonctions et des expressions QML en code C++. Il est noté que l'utilisation de Qt Quick Compiler permet de rapprocher les performances des programmes basés sur QML de celles des programmes natifs, notamment en particulier lors de la compilation des extensions, une réduction du temps de démarrage et d'exécution de 20 à 35 % par rapport à l'utilisation de la version interprétée a été observée.

- Le module « Qt Language Server » a été réalisé avec le support des protocoles Language Server et JsonRpc 2.0.
- Un compositeur a été ajouté au module Qt Wayland Compositor. serveur Qt Shell et API pour la création de ses propres extensions de shell utilisateur.
- Les types QML CalendarModel et TreeView ont été intégrés dans Qt Quick Controls avec la mise en œuvre d'interfaces pour l'affichage de calendriers et de données en présentation arborescente.


- Les types QML MessageDialog et FolderDialog ont été ajoutés au module Qt Quick Dialogs pour utiliser les boîtes de dialogue système fournies par la plateforme pour afficher des messages et naviguer dans les fichiers.

- Les performances et l'efficacité du travail avec le texte ont été améliorées dans Qt Quick. Par exemple, des problèmes de ralentissement de rendu et de consommation excessive de mémoire lors du transfert de documents très volumineux vers les composants Text, TextEdit, TextArea et TextInput ont été résolus.
- Un élément QML ReflectionProbe a été ajouté au module Qt Quick 3D pour le rendu des réflexions d'objets. L'API 3D Particles a été étendue pour ajouter des effets à des scènes 3D, créés par un grand nombre de particules (fumée, brouillard, etc.). Un nouvel élément ResourceLoader a été réalisé, fournissant des moyens de gérer les ressources dans Qt Quick 3D et permettant de précharger de grandes ressources, telles que des maillages ou des textures, ainsi que de contrôler la possibilité de décharger des ressources qui ne sont pas dans la zone visible de la scène.

- Une implémentation préliminaire du module Qt PDF a été ajoutée, qui était présente dans Qt 5.15, mais n'a pas été incluse dans Qt 6.

- Le module Qt Core a été enrichi d'un grand nombre de nouvelles fonctionnalités, principalement liées à l'amélioration du traitement des données string. Le support des codes de langue ISO639-2 a été ajouté à QLocale. Un support des spécificateurs de temps AM/PM a été intégré à QDate, QTime et QLocale. La conversion entre les formats JSON et CBOR a été simplifiée. Les méthodes QtFuture::whenAll() et whenAny() ont été ajoutées.
- Dans Qt Positioning, il est désormais possible de déterminer la précision des données de localisation fournies par les plateformes Android et iOS.
- Qt Bluetooth permet maintenant d'afficher des informations sur le support de Bluetooth LE et l'état de l'adaptateur Bluetooth sous Windows.
- Qt Widgets a amélioré le support pour les écrans haute résolution, les styles et les changements de mise en forme à l'aide de feuilles de style.
- Le système de construction basé sur CMake a été amélioré. La fonction qt-generate-deploy-app-script() a été ajoutée, simplifiant la génération de scripts pour le déploiement d'applications sur différentes plateformes.
- Un travail considérable a été réalisé pour améliorer la stabilité et la qualité de la base de code. Par rapport à la version Qt 6.2, 1750 rapports de bogues ont été fermés.
- Les prochaines versions majeures de Qt 6.x prévoient la prise en charge complète de WebAssembly, QHttpServer, gRPC, un backend pour Qt Multimedia basé sur FFmpeg, Qt Speech et Qt Location.
Source : opennet.ru






