AprÚs six mois de développement publication du framework multiplateforme . Les textes source des composants Qt sont fournis sous les licences LGPLv3 et GPLv2, les outils Qt pour les développeurs, tels que Qt Creator et qmake, ainsi que certains modules, sont fournis sous la licence GPLv3.
Principales :
- Une prise en charge complĂšte du module « Qt for WebAssembly » (qui Ă©tait auparavant expĂ©rimental) est maintenant assurĂ©e, permettant de compiler des applications graphiques basĂ©es sur Qt sous forme de modules WebAssembly pouvant ĂȘtre exĂ©cutĂ©s directement dans un navigateur web. Emscripten est utilisĂ© pour la compilation. OpenGL est traduit en WebGL ;
- Les capacitĂ©s du module Qt GUI ont Ă©tĂ© Ă©tendues, gĂ©nĂ©ralisant les classes liĂ©es Ă l'intĂ©gration avec les systĂšmes de fenĂȘtres, le traitement des Ă©vĂ©nements, l'intĂ©gration avec OpenGL et OpenGL ES, la 2D-grafique, la gestion des images, des polices et du texte. Une nouvelle API a Ă©tĂ© ajoutĂ©e dans cette version.
QImage::convertTo pour la conversion des formats d'images. De nouvelles méthodes clear, reserve et capacity ont été ajoutées à la classe QPainterPath ; - Dans le module Qt QML, qui fournit des outils pour le développement d'interfaces à l'aide du langage QML, la prise en charge des types énumérés définis dans le code C++ a été améliorée. Le traitement des valeurs « null » au moment de la compilation a été optimisé. La possibilité de générer des tables de fonctions sur les systÚmes Windows 64 bits a été ajoutée, permettant l'unwinding de la pile pour les fonctions compilées JIT ;
- Dans Qt Quick, l'objet TableView a ajouté la possibilité de masquer des colonnes et des lignes des tableaux ;
- Dans Qt Quick Controls 2, un type a été ajouté pour la disposition horizontale ou verticale des éléments avec un séparateur mobile affiché entre chaque élément. Pour les icÎnes, une propriété a été ajoutée pour gérer leur mise en cache ;
- Le moteur Web Qt WebEngine a Ă©tĂ© mis Ă jour vers Chromium 73 et Ă©tendu avec le support d'un visualiseur PDF intĂ©grĂ©, rĂ©alisĂ© sous la forme d'un complĂ©ment interne. La nouvelle version comprend Ă©galement un stockage des certificats clients locaux et la prise en charge des certificats Ă partir de QML. Une API pour les notifications Web a Ă©tĂ© ajoutĂ©e. Le support des intermĂ©diaires de requĂȘtes URL a Ă©tĂ© implĂ©mentĂ© ;
- Dans le module Qt Network pour les sockets SSL, la prise en charge des canaux sécurisés (Secure Channel) a été ajoutée, ainsi que la possibilité de vérifier le statut des certificats à l'aide du protocole OCSP (Online Certificate Status Protocol). Une nouvelle branche de la bibliothÚque OpenSSL 1.1 a été utilisée pour le support SSL sur Linux et Android ;
- Le module Qt Multimedia pour QML de type VideoOutput a ajouté le support de la lecture continue (sans pauses entre différents contenus, contrÎlé par la propriété flushMode). Pour Windows et macOS, la possibilité d'utiliser le framework GStreamer a été ajoutée. Pour Android, le support des rÎles audio a été intégré.
- Le module Qt KNX a été mis à jour avec le support de la norme éponyme pour la gestion de l'automatisation domestique. Une API pour établir des connexions clients sécurisées avec le serveur KNXnet a été ajoutée, permettant l'envoi sécurisé de messages sur le bus KNX et le contrÎle des dispositifs compatibles KNX.
- La marque de développement expérimental a été levée pour l'API C++ du module Qt OPC UA, qui permet le soutien de la norme de communication industrielle OPC/UA. Une API expérimentale pour QML a été ajoutée.
- Un nouveau module expérimental Qt CoAP (Constrained Application Protocol) a été ajouté, implémentant la partie client du protocole M2M, utilisé pour créer des réseaux d'objets connectés. Le support de DTLS (Datagram TLS) sur UDP a été réalisé.
- Des corrections et améliorations ont été apportées à l'ensemble des modules « Qt for Python » pour la création d'applications graphiques en Python utilisant Qt5 (les développeurs Python ont accÚs à la majeure partie de l'API C++ de Qt). Qt for Python est basé sur le module PySide2 et continue son développement (essentiellement, il s'agit de la premiÚre version de PySide avec prise en charge de Qt 5 sous un nouveau nom).
- Un nouveau module expĂ©rimental a Ă©tĂ© ajoutĂ©. , fournissant une API Ă©tendue pour QML, permettant de dessiner des graphiques et des animations exportĂ©es au format JSON Ă l'aide du plugin Bodymovin du paquet Adobe After Effects. GrĂące Ă QtLottie, un designer peut prĂ©parer des effets d'animation dans l'application de son choix, tandis qu'un dĂ©veloppeur peut directement connecter les fichiers exportĂ©s Ă l'interface des applications sur QtQuick. QtLottie comprend un micro-moteur intĂ©grĂ© pour exĂ©cuter des animations, des dĂ©coupes, le traitement de couches et d'autres effets. Le moteur est accessible via l'Ă©lĂ©ment QML LottieAnimation, qui peut ĂȘtre contrĂŽlĂ© depuis le code QML de la mĂȘme maniĂšre que d'autres Ă©lĂ©ments QtQuick.
- Dans le composant Qt Wayland Compositor, un systÚme de rendu multi-thread pour les dispositifs embarqués basé sur le protocole Wayland, le support des protocoles linux-dmabuf-unstable-v1 et wp_viewporter a été assuré. Dans les composants de la plateforme pour Wayland, le support du protocole fullscreen-shell-unstable-v1 a été ajouté.
- Le module de support de la plateforme Android a été mis à jour pour permettre l'utilisation de dialogues natifs pour la gestion des fichiers. Les exigences de version minimale de la plateforme ont été élevées à Android 5.0 (niveau API 21);
- Qt 3D a ajouté la prise en charge de l'importation et de l'exportation des gestionnaires de textures OpenGL. Un début de prise en charge de l'importation des scÚnes glTF 2.0 a été implémenté;
- Les modules Qt Script, Qt Quick Controls 1 et Qt XmlPatterns ont été déclarés obsolÚtes et seront supprimés dans l'une des prochaines versions.
Le module Qt Canvas 3D a été supprimé.
Source : opennet.ru
