La société Qt Company a publié la version du framework Qt 6.5, qui continue de stabiliser et d'enrichir les fonctionnalités de la branche Qt 6. Qt 6.5 offre la prise en charge des plateformes Windows 10+, macOS 11+, Linux (Ubuntu 20.04, openSUSE 15.4, SUSE 15 SP4, RHEL 8.4/9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY et QNX. Les codes source des composants Qt sont fournis sous les licences LGPLv3 et GPLv2.
Qt 6.5 a reçu le statut de version LTS, au cours de laquelle les mises à jour pour les utilisateurs de licences commerciales seront publiées pendant trois ans (pour les autres, les mises à jour seront publiées six mois avant la publication de la prochaine version majeure). Le support de l'ancienne branche LTS Qt 6.2 se poursuivra jusqu'au 30 septembre 2024. La branche Qt 5.15 sera maintenue jusqu'en mai 2025.
Principales modifications de Qt 6.5 :
- Le module Qt Quick 3D Physics a Ă©tĂ© stabilisĂ© et classĂ© parmi les modules entiĂšrement pris en charge, fournissant une API pour la simulation de processus physiques, pouvant ĂȘtre utilisĂ©e avec Qt Quick 3D pour une interaction rĂ©aliste et un dĂ©placement d'objets dans des scĂšnes 3D. L'implĂ©mentation est basĂ©e sur le moteur PhysX.
- Le support du mode sombre a Ă©tĂ© ajoutĂ© pour la plateforme Windows. Application automatique du mode sombre activĂ© dans le systĂšme et configuration des bordures et de l'en-tĂȘte, si l'application utilise un style qui ne modifie pas la palette. Dans l'application, vous pouvez configurer votre propre rĂ©action aux changements de thĂšme systĂšme via le traitement de modification de la propriĂ©tĂ© QStyleHints::colorScheme.

- Pour Qt Quick Controls, le style Material pour Android a été mis en conformité avec les recommandations de Material 3. Un style complet a été implémenté pour iOS. Des API ont été ajoutées pour modifier l'apparence (par exemple, containerStyle pour TextField ou TextArea, ou roundedScale pour les boutons et les pop-ups).

- Sur la plateforme macOS, dans les applications utilisant QMessageBox ou QErrorMessage, l'affichage des boĂźtes de dialogue native Ă la plateforme est garanti.

- Pour Wayland, une interface QNativeInterface::QWaylandApplication a Ă©tĂ© ajoutĂ©e pour un accĂšs direct aux objets natifs de Wayland utilisĂ©s dans les structures internes de Qt, ainsi que pour accĂ©der aux informations sur les derniĂšres actions de l'utilisateur, qui peuvent ĂȘtre demandĂ©es pour une transmission aux extensions du protocole Wayland. La nouvelle interface est implĂ©mentĂ©e dans l'espace de noms QNativeInterface, qui fournit Ă©galement des appels pour accĂ©der aux API natives des plateformes X11 et Android.
- La prise en charge de la plateforme Android 12 a été ajoutée, et malgré des changements significatifs dans cette branche, il est toujours possible de créer des builds universels pour Android qui peuvent fonctionner sur des appareils avec différentes versions d'Android, à partir d'Android 8.
- La pile Boot2Qt a Ă©tĂ© mise Ă jour et peut ĂȘtre utilisĂ©e pour crĂ©er des systĂšmes mobiles tĂ©lĂ©chargeables avec un environnement basĂ© sur Qt et QML. L'environnement systĂšme de Boot2Qt a Ă©tĂ© mis Ă jour vers la plateforme Yocto 4.1 (Langdale).
- La création de paquets pour Debian 11, qui bénéficie d'un support commercial, a commencé.
- Les capacités de la plateforme WebAssembly ont été étendues, permettant de créer des applications Qt fonctionnant dans un navigateur web et portables entre différentes plateformes matérielles. Les applications compilées pour la plateforme WebAssembly s'exécutent avec des performances proches du code natif grùce à la compilation JIT, peuvent utiliser Qt Quick, Qt Quick 3D et les outils de visualisation disponibles dans Qt. La nouvelle version ajoute le support du rendu vidéo et utilise des outils destinés aux personnes handicapées dans les widgets.
- Le moteur web Qt WebEngine a Ă©tĂ© mis Ă jour vers la base de code Chromium 110. Sur la plateforme Linux, la prise en charge de l'accĂ©lĂ©ration matĂ©rielle du rendu vidĂ©o a Ă©tĂ© mise en Ćuvre en utilisant l'API graphique Vulkan dans des environnements basĂ©s sur X11 et Wayland.
- Un module Qt Quick Effects a Ă©tĂ© ajoutĂ©, fournissant des effets graphiques prĂȘts Ă l'emploi pour l'interface basĂ©e sur Qt Quick. Des effets personnalisĂ©s peuvent ĂȘtre créés Ă partir de zĂ©ro ou obtenus en combinant des effets existants Ă l'aide de l'outil Qt Quick Effect Maker.
- Dans le module Qt Quick 3D, il est possible de configurer le niveau de dĂ©tail des modĂšles (par exemple, pour les objets Ă©loignĂ©s de la camĂ©ra, des maillages plus simples peuvent ĂȘtre gĂ©nĂ©rĂ©s). L'API SceneEnvironment prend en charge le brouillard et l'effacement progressif des objets lointains. Dans ExtendedSceneEnvironment, des fonctionnalitĂ©s pour crĂ©er des effets complexes de post-traitement et combiner des effets tels que la profondeur de champ, le flou et les reflets sont fournies.
- Un module expérimental Qt GRPC a été ajouté, avec un support pour les protocoles gRPC et Protocol Buffer, permettant d'accéder aux services gRPC et d'effectuer la sérialisation des classes Qt en utilisant Protobuf.
- Le module Qt Network a ajouté la prise en charge de la configuration des connexions HTTP 1.
- Le module Qt Serial Bus a ajoutĂ© des classes expĂ©rimentales pour travailler avec le bus CAN, qui peuvent ĂȘtre utilisĂ©es pour encoder et dĂ©coder des messages CAN, traiter des trames et analyser des fichiers DBC.
- Le module Qt Location a Ă©tĂ© revitalisĂ©, offrant aux applications des moyens d'intĂ©grer des cartes, de la navigation et de marquer des lieux d'intĂ©rĂȘt (POI). Le module prend en charge une interface de plugins, permettant de connecter des backends pour travailler avec diffĂ©rents fournisseurs de services et de crĂ©er des extensions API. Le module a encore le statut expĂ©rimental et ne prend en charge que le backend pour les cartes basĂ©es sur Open Street Maps.

- Les capacités des modules Qt Core, Qt GUI, Qt Multimedia, Qt QML, Qt Quick Compiler, Qt Widgets ont été étendues.
- Un travail considérable a été réalisé pour améliorer la stabilité, avec environ 3500 rapports de bogues fermés.
Source : opennet.ru




