Sortie du framework Qt 5.13

Après six mois de développement préparé publication du framework multiplateforme Qt 5.13. 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 nouveautés:

  • 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é SplitView 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é. Qt Lottie, 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

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster