IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

La version 6.7 de Qt est disponible avec de nombreuses améliorations


Sujet :

Qt

  1. #1
    Communiqués de presse

    Femme Profil pro
    Traductrice Technique
    Inscrit en
    Juin 2023
    Messages
    1 637
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Traductrice Technique

    Informations forums :
    Inscription : Juin 2023
    Messages : 1 637
    Points : 114 359
    Points
    114 359
    Par défaut La version 6.7 de Qt est disponible avec de nombreuses améliorations
    La version 6.7 de Qt est disponible avec de nombreuses améliorations, pour construire des applications modernes et une meilleure expérience utilisateur.

    Qt 6.7 est disponible avec de nombreuses améliorations, petites et grandes, pour tous ceux qui aiment s'amuser en construisant des applications modernes et des expériences utilisateur. Plusieurs ajouts sont publiés en tant qu'aperçus technologiques pour pouvoir préparer la prochaine version LTS !

    Découvrez les points forts ici :



    Utiliser C++20 avec Qt

    C++20 est encore en option et expérimental pour de nombreuses chaînes d'outils de compilation, et pour le moment, il n'y a aucune raison d'exiger C++20 pour construire ou utiliser Qt. Cependant, les utilisateurs peuvent utiliser le nouveau standard autant qu'ils le souhaitent dans leur propre code. Certains des changements apportés entre C++17 et C++20 pourraient nécessiter des ajustements au code existant, et ils ont nécessité des ajustements dans Qt. Pour Qt 6.7, l'équipe en charge a continué à faire des adaptations qui permettent à Qt de se sentir comme une partie naturelle d'une pile C++ moderne.

    Un ajout utile au langage C++20 est l'opérateur de comparaison à trois voies<=>(), également connu sous le nom d'opérateur "vaisseau spatial". Lors de l'implémentation de cet opérateur, les types doivent spécifier leur catégorie d'ordre. Dans Qt 6.7, il a été ajouté les classes Qt::{strong,weak,partial}_ordering comme implémentations compatibles avec le C++17 des types std::*_ordering respectifs. Pour les auteurs de types, Qt 6.7 fournit des macros d'aide qui peuvent être utilisées pour implémenter les opérateurs relationnels. Ces macros s'étendront à operator<=>() dans les versions C++20, et reviendront aux six opérateurs dans les versions C++17.

    Un ajout utile à la bibliothèque standard en C++20 et mis à la disposition des utilisateurs de Qt est std::span. En tant que représentation non propriétaire d'une séquence contiguë d'objets, un span est peu coûteux à construire et à passer par des appels de fonction, et avec QSpan il y a maintenant une implémentation C++17 de ce type.

    L'équipe a également continué à ajouter le support de std::chrono aux API Qt concernées. Les délais de transfert dans les API de Qt Network peuvent maintenant être spécifiés en tant que types et littéraux std::chrono, tels que 5s pour 5 secondes.


    Qt Graphs avec prise en charge des visualisations 2D et 3D

    Dans Qt 6.6, il a été présenté un premier aperçu technologique de Qt Graphs en tant que cadre moderne de Qt 6 pour la visualisation de données sur une architecture de rendu accélérée par le matériel.

    Qt 6.7 ajoute la prise en charge des graphiques à barres, linéaires et de dispersion en 2D, en plus des visualisations en 3D déjà disponibles depuis Qt 6.6. Le module s'intègre aux animations et aux effets de Qt Quick et fournit des API d'interaction basées sur des thèmes et des gestionnaires.

    Nom : 1.png
Affichages : 114686
Taille : 21,0 Ko

    Qt Graphs est toujours en développement actif et continue d'être un aperçu technologique pour cette version. Il a été apporté des améliorations substantielles à l'API et à l'architecture des données afin de réduire la quantité d'allocations de mémoire et de s'intégrer de manière cohérente au modèle d'éléments abstraits de Qt. L'équipe prévoit d'autres améliorations de l'architecture et de l'API avant de sortir de l'aperçu technologique pour Qt 6.8 LTS.


    Connectivité, protocoles et architectures distribuées

    Les développeurs de systèmes distribués peuvent désormais travailler plus efficacement avec les API HTTP et REST grâce à l'introduction de QHttpHeaders, QRestAccessManager et QRestReply en tant que nouvelles classes pour les cas d'utilisation spécifiques à REST.

    Qt gRPC a introduit de nouvelles classes pour le client, le serveur ou les appels bidirectionnels en continu, permettant une messagerie transparente qui se déclenche automatiquement sur les changements de valeur. La nouvelle API Interceptor permet d'ajouter des fonctions de rappel pour des messages gRPC sélectionnés, par exemple pour mettre en œuvre la mise en cache ou la journalisation. Avec Qt Protobuf dans Qt 6.7, les développeurs peuvent maintenant sérialiser les messages Protobuf vers et depuis JSON, et bénéficier des améliorations du générateur qui prend en charge les champs optionnels et préserve la casse des valeurs d'énumération.

    Ces nouvelles fonctionnalités permettent aux développeurs de créer plus facilement des applications robustes et évolutives avec Qt. Qt gRPC et Qt Protobuf sortiront de l'aperçu technologique dans la version 6.8 de Qt, lorsque le travail pour compléter la prise en charge de HTTP/2 aura été achevé.


    Graphiques vectoriels

    Depuis son introduction, Qt SVG a supporté les caractéristiques statiques du profil SVG 1.2 Tiny. Ce profil particulier est devenu de moins en moins pertinent au cours des dernières années, et les outils de création n'ont pendant longtemps pas suivi de profil spécifique. Pour Qt 6.7, l'équipe a analysé les éléments statiques de SVG 1.1 et 2.0 qui sont couramment utilisés dans les ressources SVG, et a ajouté la prise en charge des éléments rencontrés le plus fréquemment : <symbol>, <marker>, <pattern>, <mask> et les divers éléments <filter>. Avec Qt SVG dans la version 6.7, les applications peuvent rendre la majorité des fichiers SVG pertinents pour les concepteurs d'interface utilisateur.

    Nom : 2.PNG
Affichages : 6964
Taille : 37,2 Ko

    Si un support complet de SVG 2.0 est nécessaire, le module Qt WebEngine continue d'être le bon choix.

    En plus d'importer les SVG sous forme de pixmaps pré-rendus dans les interfaces utilisateur de Qt, l'équipe a travaillé également sur l'importation de graphiques vectoriels directement dans le graphe de scène de Qt Quick. Le nouvel outil (expérimental) svgtoqml convertit les SVG en QML, et l'équipe a apporté des améliorations au module Qt Quick Shapes pour un rendu de meilleure qualité. Le moteur de rendu de courbes introduit comme aperçu technologique dans Qt 6.6 est maintenant entièrement supporté, et peut être activé en utilisant la propriété preferredRendererType.


    Améliorations des polices et des icônes

    Après avoir introduit la prise en charge des caractéristiques des polices typographiques dans Qt 6.6, l'équipe a poursuivi avec la prise en charge des polices variables dans Qt 6.7. Les polices variables combinent des variations d'une seule police de caractères dans un seul fichier de police, ce qui permet aux applications de sélectionner n'importe quelle valeur de "poids" ou de "cursivité". En fonction des axes variables créés par le concepteur de la police, un glyphe peut être animé ou présenter différentes couches.

    L'API est désormais stable et utilise de manière cohérente la nouvelle classe QFont::Tag pour spécifier les caractéristiques des polices et les noms des axes de manière sûre.

    L'amélioration de la prise en charge des polices modernes a permis d'ajouter la prise en charge des bibliothèques d'icônes natives, qui sont souvent fournies par les polices. L'implémentation de QIcon::fromTheme fait désormais correspondre le nom de l'icône XDG au symbole correspondant dans les bibliothèques d'icônes natives sur les plateformes Apple, Windows et Android. À l'avenir, il est prévu d'utiliser les nouvelles capacités de l'API de polices pour ajouter la prise en charge d'autres caractéristiques d'icônes, telles que les versions soulignées ou remplies d'une icône.

    Nom : variable-fonts.gif
Affichages : 6977
Taille : 394,6 Ko


    Applications hybrides avec éléments d'interface utilisateur et rendu natifs

    Sur les plateformes de bureau et mobiles, les applications doivent souvent combiner des éléments d'interface utilisateur provenant de technologies et de cadres différents. Qt utilise et s'intègre étroitement aux technologies natives de chaque plateforme pour créer des éléments d'interface utilisateur de base tels que les fenêtres, et il a longtemps été possible d'utiliser des éléments d'interface utilisateur provenant d'autres frameworks dans une application Qt Widgets.

    Avec Qt 6.7, l'équipe a ajouté la prise en charge de l'intégration de fenêtres natives dans une scène Qt Quick. Cela permet d'utiliser des contrôles natifs tels que MapView d'AppKit ou un lecteur multimédia Windows à l'intérieur d'une interface utilisateur Qt Quick, avec un positionnement et un empilement corrects. En superposant les fenêtres, les éléments de l'interface Qt Quick peuvent également être superposés aux composants natifs.

    Nom : 3.png
Affichages : 6962
Taille : 177,8 Ko

    En outre, les applications peuvent désormais ajouter du code de rendu, en utilisant n'importe quelle API graphique prise en charge par Qt, à une application Qt Quick ou Qt Widgets, en utilisant les classes QRhiQuickItem et QRhiWidget, respectivement. Bien qu'un tel code ne soit souvent pas totalement multiplateforme (car Vulkan, OpenGL, Direct3D, ou Metal ne sont pas pris en charge de la même manière sur toutes les plateformes cibles possibles), il permet d'intégrer des frameworks tiers qui utilisent ces technologies, ou d'écrire un code de rendu hautement optimisé pour toute plateforme spécifique.


    Mise à jour du support des plateformes

    Comme pour chaque version mineure, une mise à jour de la liste des plateformes supportées est publiée pour inclure les dernières versions stables des systèmes d'exploitation concernés. Sur desktop et mobile, Qt 6.7 supporte pleinement macOS 14 et iOS 17, Windows 11 23H2, et Android 14. RedHat 9.2, Open Suse 5.15, SUSE Linux Enterprise Server 15 sont les dernières distributions Linux prises en charge (Ubuntu reste sur 22.04). Des binaires préconstruits pour Windows utilisant la chaîne d'outils MinGW basée sur LLVM sont disponibles à partir du programme d'installation, et Windows et Linux sur ARM sont tous deux disponibles en tant qu'aperçu technologique.

    Pour les systèmes embarqués, les images de référence Boot2Qt prennent en charge Yocto 4.3 Nanbield. En ce qui concerne les systèmes d'exploitation en temps réel, Qt 6.7 inclut désormais un aperçu technologique (source uniquement) pour VxWorks 7 utilisant SR 24.03 sur du matériel iMX6, et des binaires préconstruits pour QNX 7.1 sont disponibles à partir de l'installateur en ligne.


    Exemples et démonstrations nouveaux et améliorés

    En plus des améliorations apportées au framework, l'équipe a mis à jour les exemples et les applications de démonstration livrés avec Qt, et rafraîchi l'interface utilisateur et le style de codage. Ils ont également créé quelques nouvelles applications qui montrent ce qui est possible lorsque les concepteurs et les développeurs travaillent ensemble pour combiner les capacités d'interface utilisateur, de visualisation et d'arrière-plan de Qt.

    L'exemple Lightning Viewer utilise Qt Location et Qt Quick Controls pour visualiser des données de foudre simulées, reçues via Qt WebSocket. Le style des contrôles a été entièrement créé dans Figma.

    Nom : lightningviewer-1.gif
Affichages : 7021
Taille : 268,0 Ko

    L'exemple StocQt, entièrement recréé, utilise Qt Graphs pour visualiser des données boursières basées sur le NASDAQ-100. L'interface utilisateur de l'exemple a été créée à l'aide de Qt Design Studio, et si une clé API est fournie dans la boîte de dialogue des paramètres, les données sont des informations en temps réel telles qu'elles sont reçues du service Financial Modeling Prep.

    Nom : 4.png
Affichages : 7011
Taille : 101,7 Ko

    Le nouvel exemple OSM Buildings combine Qt Quick 3D avec Qt Positioning et Qt Network pour mettre en œuvre une visionneuse 3D des données cartographiques des bâtiments telles qu'elles sont reçues du service OpenStreetMap.

    Les assistants virtuels sont de plus en plus populaires dans les interfaces utilisateur, et le nouvel exemple d'assistant virtuel montre à quel point il est facile de donner vie à un modèle 3D grâce à des animations temporelles.

    Enfin, le nouvel exemple de rendu volumétrique utilise la nouvelle prise en charge des textures 3D dans Qt Quick 3D pour mettre en œuvre la projection de rayons volumétriques.


    Qt pour Python

    Une fois que de nouvelles fonctionnalités sont ajoutées à Qt, l'offre Python doit les adapter afin de les rendre accessibles aux utilisateurs Python. En plus de ce qui est décrit ici, de nombreux autres changements ont été apportés à PySide et Shiboken.

    Source : Annonce de Qt 6.7

    Et vous ?

    Quel est votre avis sur ces améliorations ?

    Voir aussi :

    La version 6.6 de Qt est désormais disponible, et s'accompagne de nouvelles fonctionnalités pour une expérience de développement plus productive

    Petite présentation de Qt à l'usage des Pascaliens (Delphi/Lazarus), une comparaison critique de HTML-Dev

    Qt Creator 12 est désormais disponible avec l'intégration du compilateur interactif Compiler Explorer et le débogage pour l'exécution de scripts de compilation CMake 3.27

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Graphic Programmer
    Inscrit en
    Mars 2006
    Messages
    1 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Graphic Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 602
    Points : 4 129
    Points
    4 129
    Par défaut
    qu'est ce qu'une application "moderne" ??

  3. #3
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 998
    Points : 2 243
    Points
    2 243
    Par défaut
    Citation Envoyé par Aiekick Voir le message
    qu'est ce qu'une application "moderne" ??
    Excellente question.
    Un truc sur le cloud, tactile, avec les éléments qui se placent jamais au même endroit en fonction de la taille de l’écran et qui plante des qu'on a perdu le réseau qui à la base ne sert qu'à des gadgets indépendants des fonctionnalités essentielles ?
    Le tout qui consomme 6Go de ram minimum et qui s'ouvre dans un navigateur internet

    J'ai juste ?

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 694
    Points : 188 894
    Points
    188 894
    Par défaut
    Citation Envoyé par petitours Voir le message
    J'ai juste ?
    Tout faux : on parle de Qt, qui se focalise sur le natif, pas du tout sur les technos Web (même si tu peux). "Moderne" veut plutôt dire Qt Quick que Qt Widgets, un cadre qui permet plus facilement d'intégrer des entrées tactiles si tu veux. Ensuite, si tu veux absolument dépendre du Web pour toutes les fonctionnalités, libre à toi !

  5. #5
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 998
    Points : 2 243
    Points
    2 243
    Par défaut
    rhooo si on a plus le droit de plaisanter

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/02/2023, 06h14
  2. Réponses: 7
    Dernier message: 08/04/2020, 09h11
  3. Réponses: 1
    Dernier message: 04/03/2020, 16h20
  4. Réponses: 0
    Dernier message: 12/12/2019, 16h54
  5. Réponses: 0
    Dernier message: 21/04/2019, 00h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo