Version du framework Qt 5.13

Après six mois de développement préparé sortie d'un framework multiplateforme Qt 5.13. Le code source des composants Qt est sous licence LGPLv3 et GPLv2, les outils de développement Qt tels que Qt Creator et qmake, et certains modules sont sous licence GPLv3.

principal les innovations:

  • Un support complet est fourni pour le module « Qt for WebAssembly » (auparavant expérimental), qui permet de compiler des applications graphiques basées sur Qt sous la forme de modules WebAssembly exécutables directement dans un navigateur Web. Emscripten est utilisé pour la compilation. OpenGL se traduit par WebGL ;
  • Les capacités du module Qt GUI ont été étendues, qui généralise les cours liés à l'intégration avec les systèmes de fenêtres, au traitement des événements, à l'intégration avec OpenGL et OpenGL ES, aux graphiques 2D, au travail avec des images, des polices et du texte. La nouvelle version ajoute une nouvelle API
    QImage::convertTo pour convertir les formats d'image. De nouvelles méthodes clear, reserve etcapacité ont été ajoutées à la classe QPainterPath ;

  • Le module Qt QML, qui fournit des outils pour développer une interface utilisant le langage QML, a amélioré la prise en charge des types énumérés définis dans le code C++. Traitement optimisé des valeurs « nulles » au stade de la compilation. Ajout de la possibilité de générer des tables de fonctions sur les systèmes Windows 64 bits, vous permettant de dérouler la pile pour les fonctions compilées JIT ;
  • Dans Qt Quick, l'objet TableView a ajouté la possibilité de masquer les colonnes et les lignes du tableau ;
  • Type ajouté à Qt Quick Controls 2 Vue partagé pour placer des éléments horizontalement ou verticalement, en affichant un séparateur mobile entre chaque élément. Une propriété a été ajoutée pour les icônes qui vous permet de contrôler leur mise en cache ;
  • Le moteur Web Qt WebEngine a été mis à jour vers Chromium 73 et étendu avec la prise en charge d'une visionneuse PDF intégrée, conçue comme un module complémentaire interne. La nouvelle version ajoute également le stockage des certificats clients locaux et la prise en charge des certificats QML. Ajout de l'API de notifications Web. La prise en charge de la définition des intercepteurs de requêtes URL a été implémentée ;
  • Le module Qt Network pour les sockets SSL a ajouté la prise en charge des canaux sécurisés et la possibilité de vérifier l'état des certificats à l'aide du protocole OCSP (Online Certificate Status Protocol). Pour prendre en charge SSL sous Linux et Android, une nouvelle branche de la bibliothèque OpenSSL 1.1 est utilisée ;
  • Dans le module Qt Multimedia pour le type QML VideoOutput, le support de la lecture continue a été ajouté (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. Ajout de la prise en charge des rôles audio pour Android ;
  • Le module Qt KNX a été mis à jour avec la prise en charge de la norme du même nom pour le contrôle domotique. Ajout d'une API pour établir des connexions client sécurisées avec le serveur KNXnet, qui peut être utilisée pour envoyer en toute sécurité des messages au bus KNX et contrôler les appareils compatibles KNX ;
  • L'indicateur de développement expérimental a été supprimé de l'API C++ du module Qt OPC UA, qui prend en charge le standard de communication industrielle OPC/UA. Ajout d'une API expérimentale pour QML ;
  • Un nouveau module expérimental Qt CoAP Constrained Application Protocol a été ajouté avec l'implémentation de la partie client du protocole M2M utilisé pour créer des réseaux d'appareils Internet des objets. Prise en charge implémentée de DTLS (Datagram TLS) sur UDP ;
  • Des correctifs et des améliorations ont été apportés à l'ensemble de modules "Qt for Python" pour créer des applications graphiques en Python à l'aide de Qt5 (les développeurs Python ont accès à la plupart des API Qt C++). Qt pour Python est basé sur le module PySide2 et poursuit son développement (en fait, la première version de PySide prenant en charge Qt 5 est proposée sous un nouveau nom) ;
  • Ajout d'un nouveau module expérimental Lottie Qt, qui fournit une API QML avancée qui vous permet de restituer des graphiques et des animations exportés au format JSON à l'aide du plugin Bodymovin pour Adobe After Effects. Grâce à QtLottie, un concepteur peut préparer des effets d'animation dans une application pratique, et un développeur peut directement connecter les fichiers exportés à l'interface de l'application sur QtQuick. QtLottie comprend un micro-moteur intégré pour effectuer des animations, des recadrages, des superpositions et d'autres effets. Le moteur est accessible via l'élément QML LottieAnimation, qui peut être contrôlé à partir du code QML de la même manière que n'importe quel autre élément QtQuick ;
  • Qt Wayland Compositor, un système de rendu multithread pour appareils embarqués basé sur le protocole Wayland, prend en charge les protocoles linux-dmabuf-unstable-v1 et wp_viewporter. La prise en charge du protocole fullscreen-shell-unstable-v1 a été ajoutée aux composants de la plate-forme pour Wayland ;
  • Dans le module de prise en charge de la plateforme Android, la possibilité d'utiliser des boîtes de dialogue natives pour travailler avec des fichiers a été ajoutée. Les exigences pour la version minimale de la plateforme ont été augmentées à Android 5.0 (API niveau 21) ;
  • Qt 3D a ajouté la prise en charge de l'importation et de l'exportation des rendus de texture OpenGL. Implémentation du support initial pour l'importation de scènes glTF 2.0 ;
  • Les modules Qt Script sont obsolètes et seront supprimés dans une prochaine version.
    Contrôles rapides Qt 1 et Qt XmlPatterns. Le module Qt Canvas 3D a été supprimé.

Source: opennet.ru

Ajouter un commentaire