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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Sortie de Qt 5.5
Avec de nouveaux modules pour la 3D (Canvas3D et Qt 3D) et des fonctionnalités de cartographie

Le , par arnolddumas

128PARTAGES

6  0 
Qt 5.5 est disponible depuis peu en version finale. Ces six derniers mois ont été le théâtre de nombreux développements du côté du framework.

Durant cette période, pas moins de 1500 bogues ont été corrigés et les améliorations sont visibles dans tous les modules. Elles ont notamment porté sur les disparités entre plates-formes sur les fonctionnalités implémentées, principalement pour les modules Multimedia et Bluetooth — peu de leurs fonctions étaient disponibles sur toutes les plates-formes. Par exemple, le module Qt Bluetooth fonctionne maintenant sur OS X, les extensions Bluetooth LE sur toutes les plates-formes actuellement compatibles avec le module Qt Bluetooth.

Les équipes de développement ont passé beaucoup de temps à s'assurer de la compatibilité de Qt 5.5 avec Windows 10, en préparation de sa sortie officielle. Le fait que Qt fonctionne correctement avec les nouvelles API WinRT sous Windows 8, et ce, depuis Qt 5.3, fournit bien évidemment une solide base sur laquelle s'appuyer. C'est pour cette raison que la compatibilité complète avec Windows 10 devrait arriver par une simple version corrective de Qt 5.5.x.

Les paquets pour Linux sont maintenant compilés sous RedHat Enterprise Linux, permettant de couvrir un large spectre de distributions Linux (de RHEL 6.6 jusqu'à Ubuntu 15.04) avec un seul jeu de binaires.

La version pour Mac a elle aussi reçu son lot d’améliorations, la couche de transport sécurisé d'Apple est maintenant utilisée pour les fonctionnalités relatives à SSL. Le Bluetooth et le Bluetooth basse consommation sont maintenant supportés, de même que QWebView. Par ailleurs, de nombreux bogues relatifs au module Multimedia sont maintenant corrigés.

Nouvelles fonctionnalités

Comme toujours, Qt 5.5 est fourni avec la dernière version de Qt Creator ainsi qu'avec un grand nombre de nouvelles fonctionnalités.

Bluetooth

L'API Bluetooth basse consommation, qui fut introduite en tant que préversion technique avec Qt 5.4, est maintenant totalement supportée sous Android, OS X et iOS ainsi que sous Linux, comme auparavant.

Modules graphiques

Qt fournit des facilités pour utiliser OpenGL depuis Qt 2, mais Qt 5.5 entre dans une nouvelle dimension concernant le graphique, grâce aux deux nouveaux modules qui étendent grandement le jeu d'API relatives au contenu 3D.

Qt Canvas 3D est un nouveau module qui rend l'utilisation de code WebGL dans Qt Quick très facile. Ce module existait dans Qt 5.4 en tant que préversion technique et il est maintenant disponible en tant que module à part entière dans Qt 5.5. Qt Canvas 3D implémente une API imitant celle de WebGL pour Qt Quick et peut être utilisée à la fois depuis du code WebGL (de bas niveau) ou bien depuis un framework JavaScript tel que three.js, rendant trivial le traitement de contenu 3D dans Qt Quick.

L'autre nouveau module est Qt 3D, disponible en tant que préversion technique dans Qt 5.5.Qt 3D existait déjà en tant que bibliothèque à l'époque de Qt 4, mais a dû être totalement retravaillé afin de correspondre à l'utilisation réelle d'OpenGL aujourd’hui.


Qt 3D facilite grandement l’ajout de contenu 3D dans des applications Qt. Le module propose une API accessible à la fois en QML et en C++. Pour plus de détails, vous pouvez consulter la documentation de Qt 3D. Le module est toujours en préversion technique, cela signifie que la présence d'erreurs ou de bogues est possible, mais le module est déjà totalement fonctionnel, vous pouvez par exemple consulter cette démo de Qt 3D. Vos avis et impressions sont très importants et aideront à finaliser ce module en vue de sa sortie officielle dans Qt 5.6.
L'utilisation d'OpenGL sous Windows a toujours été une source de problèmes étant donné que de bons pilotes graphiques ne sont pas toujours installés par défaut. Qt 5.5 permet de résoudre ce problème en basculant automatiquement entre le pilote OpenGL et la couche d'abstraction ANGLE, qui implémente OpenGL via des appels à DirectX.

Qt Location

Un nouveau module fait son apparition dans Qt 5.5 en qualité de préversion technique, Qt Location. Il ajoute des fonctionnalités de cartographie, de géocodage, de lieux et trajets. Combiné avec l'API Qt Positioning déjà présente, vous devriez avoir toutes les cartes en main pour développer des applications tirant parti des lieux et emplacements. Qt Location laisse le choix au développeur quant au fournisseur de données. Sont pour le moment compatibles Nokia HERE, Mapbox ainsi qu'OpenStreetMap. Consultez les exemples présents dans la documentation.

Qt Quick

Beaucoup de travail a été consenti afin d'améliorer Qt Quick. Le moteur JavaScript QML comprend maintenant les tableaux typés JavaScript. Dans Qt Core, les propriétés et méthodes invocables sont maintenant supportées par les Q_GADGET, facilitant grandement l'exposition de vos classes basées sur des valeurs en QML. Qt Quick a été amélioré sous Mac et iOS, permettant aux contrôles Flickable et PinchArea de bien mieux fonctionner.

Les contrôles Qt Quick précédemment fournis dans la version commerciale sont maintenant distribués dans la version open source. Un contrôle de vue arborescente fait son apparition, afin de compléter le jeu de composants nécessaires au développement d'une application de bureau.

Qt Multimedia

Le module Multimedia a lui aussi reçu beaucoup d'attention. Sous Linux, il peut désormais utiliser gstreamer 1.0 et de nombreux bogues présents sur les autres plates-formes ont été corrigés. La gestion de la caméra a elle aussi été grandement améliorée. Le nouveau framework de filtrage vidéo est une nouvelle fonctionnalité qui facilite l'intégration de traitements utilisant OpenCL ou CUDA avec des éléments VideoOutput.



Grâce à Qt Multimedia, traiter un flux vidéo avec une bibliothèque de traitement d'images telle qu'OpenCV est un jeu d'enfant. Dans cet exemple, les panneaux de signalisation sont automatiquement reconnus par l'application. Des fonctionnalités additionnelles peuvent être ajoutées à cette démonstration, comme l'affichage d'un avertissement si la vitesse du véhicule dépasse la vitesse autorisée par le dernier panneau reconnu.

Qt WebEngine

Qt WebEngine a été mis à jour vers Chromium 40 et a reçu de nouvelles API permettant la gestion des fichiers téléchargés, le contrôle du cache ainsi que l'édition des paramètres. Pour la communication entre les applications Web exécutées par Qt WebEngine et le code C++, Qt WebChannel est maintenant inclus et de nombreuses API précédemment expérimentales sont maintenant publiques et totalement supportées.

Autres améliorations

Il y a bien sûr bien plus de nouvelles fonctionnalités et d'améliorations dans Qt 5.5 que listées ici. Pour une liste détaillée, le wiki est à votre disposition.

Modules déconseillés

Avec toutes ces nouvelles fonctionnalités introduites, d'anciens modules sont maintenant déconseillés, nommément Qt WebKit, Qt Quick 1 ainsi que Qt Script. Tous ces modules sont toujours disponibles dans Qt 5.5, mais l’utilisation de leurs remplaçants est très vivement recommandée : Qt WebEngine et Qt Quick, ainsi que Qt QML pour ce qui est de JavaScript. Dans la plupart des cas, ces remplaçants devraient être plus adaptés et fournir de meilleures fonctionnalités.

Remerciements

Cette version n'aurait pas été possible sans les nombreuses contributions émanant de la communauté Qt.
Vous pouvez télécharger Qt 5.5 depuis votre compte Qt ou bien directement sur download.qt.io. Merci de faire remonter les problèmes que vous pourriez rencontrer afin d’améliorer Qt 5.5 autant que possible.

Source : « Qt 5.5 Released »

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de esired
Membre averti https://www.developpez.com
Le 04/07/2015 à 13:53
Citation Envoyé par arnolddumas

Qt 5.5 introduit un nouveau contrôle, TreeView. Par ailleurs, tous les contrôles précédemment fournis dans la version commerciale (CircularGauge, DelayButton, Dial, Gauge, PieMenu, StatusIndicator, ToggleButton, Tumbler et TumblerColumn) sont maintenant disponibles dans la version libre. Ces anciens contrôles sont maintenant disponibles grâce à l'import QtQuick.Extras.
Ca c'est une super nouvelle Merci à Digia
0  0 
Avatar de TJ1985
Membre chevronné https://www.developpez.com
Le 28/11/2015 à 12:45
Je découvre Qt depuis peu, je suis impressionné par la qualité de cette plateforme. Bravo à ses contributeurs, vous faites vraiment un super-job.
0  0 
Avatar de loupium
Membre habitué https://www.developpez.com
Le 28/11/2015 à 16:28
Bonjour,

Impressionner un pascalien et d'expérience qui plus est, ce n'est pas négligeable.
Sinon, dommage que Delphi n'a pas investi dans son développement. C'était un formidable outil à son époque.
Cela aurait pu être un beau combat avec Qt.
0  0 
Avatar de TJ1985
Membre chevronné https://www.developpez.com
Le 28/11/2015 à 18:48
Citation Envoyé par loupium Voir le message
Impressionner un pascalien et d'expérience qui plus est, ce n'est pas négligeable.
Sinon, dommage que Delphi n'a pas investi dans son développement. C'était un formidable outil à son époque.
Cela aurait pu être un beau combat avec Qt.
Normal, Pascal est un langage relativement rigide et discipliné, ce qui incite à la concision. Je retrouve cet esprit dans Qt, pour le peu que j'ai joué avec. J'apprécie aussi infiniment la qualité de la doc, que je complète par le bouquin Application Development with Qt Creator. L'évolution de cette plateforme va pour moi dans le bon sens, j'y trouve clarté et facilite d'appréhension des concepts. Par ailleurs C++ 11 est un progrès remarquable, et 14 semble poursuivre cette tendance.
A contrario Delphi sombre dans un galimatias informe, mélange de cycles de releases incompréhensibles et de licences incohérentes. Dommage pour lui, c'était génial au début. J'ai méchamment l'impression qu'il est devenu une sorte d'EMS pour quelques créateurs historiques...
0  0