Sortie du framework Qt 5.14 et de l'environnement de développement Qt Creator 4.11.0

Après six mois de développement préparé sortie d'un framework multiplateforme Qt 5.14. 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. La sortie de Qt 5.14 a marqué le début de la préparation de la branche Qt 6, dans laquelle sont attendus des changements architecturaux importants. Qt 6 est prévu pour la fin de l'année prochaine, et pour faciliter la transition vers la nouvelle branche, il a été décidé d'inclure des implémentations préliminaires de certaines innovations dans les versions Qt 5.14 et Qt 5.15 LTS.

principal les innovations:

  • Qt Quick a commencé à travailler sur la fourniture d'une API graphique indépendante de l'API 3D du système d'exploitation. Dans Qt 5.14 proposé implémentation préliminaire d'un nouveau moteur de rendu de scène utilisant la nouvelle couche RHI (Rendering Hardware Interface) pour permettre aux applications Qt Quick de fonctionner non seulement sur OpenGL, comme c'était le cas jusqu'à présent, mais également avec Vulkan, Metal et Direct 3D 11. Le nouveau moteur est actuellement proposé sous la forme d'une option permettant de préparer les applications au passage à Qt 6, dans laquelle RHI sera utilisé par défaut pour la sortie graphique.
  • Le module Qt Quick Timeline a été implémenté, facilitant l'animation des propriétés à l'aide d'une timeline et d'images clés. Le module est dérivé de l'environnement de développement Qt Design Studio, qui fournit un éditeur basé sur une chronologie pour créer des animations sans écrire de code.
  • Module expérimental ajouté Qt Rapide 3D, qui fournit une API unifiée pour créer des interfaces utilisateur basées sur Qt Quick combinant des éléments graphiques 2D et 3D. La nouvelle API vous permet d'utiliser QML pour définir des éléments d'interface 3D sans utiliser le format UIP. Le module résout des problèmes tels qu'une surcharge importante lors de l'intégration de QML avec du contenu de Qt 3D ou 3D Studio, et offre la possibilité de synchroniser des animations et des transformations au niveau de l'image entre la 2D et la 3D. Dans Qt Quick 3D, vous pouvez utiliser un runtime (Qt Quick), une mise en page de scène et un framework d'animation pour la 2D et la 3D, et utiliser Qt Design Studio pour le développement d'interfaces visuelles.
  • Ajout de WheelHandler, un gestionnaire pour les événements de la molette de la souris, ainsi que les événements pour une molette émulée par un pavé tactile.
  • Les travaux se poursuivent pour améliorer les performances sur les écrans à haute densité de pixels. Y compris la possibilité de spécifier des facteurs d'échelle fractionnaires.
  • Ajout de la possibilité d'ajouter des espaces colorimétriques pour les images, ce qui vous permet d'obtenir une reproduction correcte des couleurs lors de l'affichage d'images sur des moniteurs calibrés.
  • Ajout de l'espace de noms QColorConstants, qui, au moment de la compilation, vous permet de générer des instances de la classe QColor avec une palette prédéfinie.
  • La prise en charge de la lecture et de l'écriture de Markdown a été ajoutée aux composants Qt Widgets et Qt Quick pour créer des éditeurs de texte.
  • L'API QCalendar implémente la possibilité de travailler avec des calendriers autres que grégoriens.
  • Pour Android, la prise en charge a été ajoutée pour les assemblys couvrant plusieurs ABI, ce qui vous permet de compiler une application pour différentes architectures à la fois. La prise en charge du format de package AAB a également été ajoutée, permettant aux applications d'être livrées pour toutes les architectures prises en charge dans une seule archive.
  • Réalisé optimisation des performances du module Qt 3D, y compris un travail modernisé avec les threads, les objets framebuffer et le système de notification. En conséquence, il a été possible de réduire la charge sur le processeur lors du dessin d'une trame et d'augmenter l'efficacité de la synchronisation entre les threads en cours d'exécution.
  • Des API ont été ajoutées au module Qt Network pour configurer les paramètres HTTP/2 et surveiller la connexion réseau.
  • Le moteur Web Qt WebEngine a été mis à jour vers Chromium 77 et étendu avec une nouvelle API pour gérer le cycle de vie de l'objet QWebEnginePage.
  • Licence pour les composants Qt Wayland Compositor, Qt Application Manager et Qt PDF modifié de la LGPLv3 à la GPLv3, c'est-à-dire La liaison avec les nouvelles versions de ces composants nécessite désormais d'ouvrir le code source des programmes sous des licences compatibles GPLv3 ou d'acheter une licence commerciale (LGPLv3 permettait la liaison avec du code propriétaire).

En même temps formé Version de l'IDE Créateur Qt 4.11.0, conçu pour créer des applications multiplateformes à l'aide de la bibliothèque Qt. Le développement de programmes C++ classiques et l'utilisation du langage QML sont pris en charge, dans lequel JavaScript est utilisé pour définir des scripts, et la structure et les paramètres des éléments d'interface sont définis par des blocs de type CSS.

La nouvelle version de Qt Creator ajoute un support expérimental pour le développement d'applications pour microcontrôleurs et la compilation dans WebAssembly à l'aide de modules "Qt pour les MCU"Et"Qt pour WebAssembly". Pour les systèmes avec
CMake 3.14 et les versions plus récentes en utilisent un nouveau pour la configuration et l'analyse des projets API de fichier (/.cmake/api/). Ajout du support à l'éditeur de code élargir le Protocole Language Server de mise en évidence de la sémantique, et également configuration simplifiée du Language Server pour le langage Python. Une option a été ajoutée à l'interface pour modifier le style de marquage de fin de ligne. La possibilité de modifier les liaisons QML a été ajoutée à Qt Quick Designer.

Source: opennet.ru

Ajouter un commentaire