La société Qt dévoilée J'ai récemment publié la nouvelle version du framework quart 6.3, dans lequel le travail continue de se stabiliser et d'augmenter les fonctionnalités de la branche Qt 6.
Cette nouvelle version de Qt 6.3 prend en charge Windows 10, macOS 10.14+, ainsi que de nombreuses distributions Linux, iOS 13+, Android 6+ (API 23+), webOS, INTEGRITY et QNX.
Principales nouveautés de Qt 6.3
Dans cette nouvelle version de QT 6.3 une implémentation expérimentale est proposée dans le module Qt QML du compilateur qmltc (compilateur de type QML) qui vous permet de compiler des structures d'objets QML en classes en C++.
Pour les utilisateurs professionnels à partir de Qt 6.3, Le produit Qt Quick Compiler a été préparé, qui, en plus du compilateur de type QML mentionné ci-dessus, inclut le compilateur de script QML, qui vous permet de compiler des expressions et des fonctions QML en code C++. Il est à noter que l'utilisation de Qt Quick Compiler permet de rapprocher les performances des programmes basés sur QML des programmes natifs, en particulier, lors de la compilation d'extensions, il y a une réduction du temps de démarrage et d'exécution d'environ 20-35% dans comparaison pour utiliser la version interprétée.
Un autre changement qui se démarque est que Qt Quick a amélioré les performances et l'efficacité lors de l'utilisation de texte. Par exemple, les problèmes de lenteur du traitement et de consommation de mémoire lors du passage de documents très volumineux aux composants Text, TextEdit, TextArea et TextInput ont été résolus.
Il est également souligné que ajout d'un élément QML ReflectionProbe au module Qt Quick 3D pour représenter les reflets des objets. L'API 3D Particles a été étendue pour ajouter des effets aux scènes 3D constituées d'une grande accumulation de particules (fumée, brouillard, etc.), en plus de implémenté un nouvel élément ResourceLoader qui fournit des outils pour gérer les ressources dans Qt Quick 3D et permet de précharger des ressources volumineuses comme des maillages ou des textures, ainsi que de contrôler l'admissibilité du téléchargement de ressources qui ne tombent pas dans la zone visible de la scène.
En outre, il est à noter que de nombreuses nouvelles fonctionnalités ont été ajoutées au module Qt Core, principalement liés à l'extension des capacités de traitement des données de chaîne et à l'ajout de la prise en charge des codes de langue ISO639-2 à QLocale.
Des autres changements qui se démarquent de cette nouvelle version:
- Ajout de la prise en charge des spécificateurs d'heure AM/PM à QDate, QTime et QLocale. Conversion simplifiée entre les formats JSON et CBOR. Ajout des méthodes QtFuture::whenAll() et whenAny().
- Implémentation du module "Qt Language Server" avec prise en charge des protocoles Language Server et JsonRpc 2.0.
- Le module Qt Wayland Composer a ajouté un serveur composite Qt Shell et une API pour créer vos propres extensions de shell personnalisées.
- Qt Quick Controls intègre les types CalendarModel et TreeView QML avec l'implémentation d'interfaces pour afficher le calendrier et les données dans une arborescence.
- Ajout des types QML MessageDialog et FolderDialog au module Qt Quick Dialogs pour utiliser les boîtes de dialogue système fournies par la plate-forme pour afficher un message et parcourir les fichiers.
- Ajout d'une implémentation préliminaire du module Qt PDF, qui était présent dans Qt 5.15 mais pas inclus dans Qt 6.
- Qt Positioning permet de déterminer la précision des données de localisation fournies par les plateformes Android et iOS.
- Qt Bluetooth fournit des informations sur la compatibilité Bluetooth LE et des informations sur l'état de l'adaptateur Bluetooth dans Windows.
- Qt Widgets a amélioré la prise en charge des affichages haute résolution, des styles et des changements de style à l'aide de feuilles de style.
- Système de construction amélioré basé sur CMake. Ajout de la fonction qt-generate-deploy-app-script() pour simplifier la génération de scripts pour le déploiement d'applications sur différentes plates-formes.
- Beaucoup de travail a été fait pour améliorer la stabilité et la qualité de la base de code. Depuis la sortie de Qt 6.2, 1750 rapports de bogue ont été fermés.
Enfin, il convient de mentionner que les prochaines versions majeures de Qt 6.x prévoient d'implémenter un support complet pour WebAssembly, QHttpServer, gRPC, un backend pour Qt Multimedia basé sur FFmpeg, Qt Speech et Qt Location.
Si vous voulez en savoir plus, vous pouvez vérifier les détails dans le lien suivant.