De nouveaux détails sur les plans pour Qt 6
Qui devrait contenir assez peu de nouvelles fonctionnalités par rapport à Qt 5.15

Le , par dourouc05

0PARTAGES

12  0 
Albert Astals Cid, un employé de KDAB (cette société étant l'une des plus grosses contributrices à Qt), donne sur son blog plus de détails sur les discussions qui ont eu lieu sur Qt 6. Tout d'abord, la date est bien confirmée pour novembre 2020. D'ici là, Qt 5 continuera à avoir ses versions mineures semestrielles, la dernière devant être Qt 5.15 (elle aura une maintenance à long terme).

D'un point de vue technique, Qt 6 s'appuiera sur C++17, pas une norme plus ancienne. La migration devrait être très facile, au moins pour ceux qui ont suivi les fonctionnalités désapprouvées au fil du temps. En peu de mots, Qt 6 ne devrait pas avoir de fonctionnalité majeure, plutôt ressembler à Qt 5.15 en enlevant toutes les fonctionnalités désapprouvées et en changeant les interfaces qui doivent l'être. Pour faciliter la migration, l'essentiel des problèmes de compatibilité entre Qt 5 et 6 devraient être des choses qui cassent clairement à la compilation (sans nécessiter trop de travail de réécriture, de préférence) : autant que possible, les changements de comportement à l'exécution seront évités.

Le système de compilation de Qt 6 n'est pas encore décidé, mais il est certain que ce ne sera plus qmake. Le choix semble assez limité, cependant : des gens travaillent sur Qbs (une petite étude a d'ailleurs été récemment lancée par le nouveau gestionnaire de produit), mais personne sur un autre candidat. CMake n'a pas été retenu, parce qu'il n'est pas compatible avec toutes les plateformes de Qt (pour l'embarqué, par exemple). Les fichiers de configuration nécessaires seront de toute façon inclus pour que l'on puisse compiler des applications Qt avec CMake.

Ainsi, l'objectif est de continuer à travailler normalement sur Qt 5 : toutes les fonctionnalités qui peuvent y être intégrées le seront, elles ne seront pas retardées pour faire de Qt 6 une version particulièrement impressionnante.

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

Avatar de Matthieu76
Membre éclairé https://www.developpez.com
Le 21/06/2018 à 16:14
Citation Envoyé par dourouc05 Voir le message
Le système de compilation de Qt 6 n'est pas encore décidé, mais il est certain que ce ne sera plus qmake.
À mon avis je n'ai pas tout compris mais qmake ne fait pas que convertir les fichiers .pro en Makefile ? Et du coup, y aura-t-il aussi une nouvelle version de QtCreator ?
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 21/06/2018 à 16:17
Bonjour,

Qt Creator est déjà compatible QBS.
De plus, dire que qmake ne fait "que" convertir en Makefile, c'est un peu restreint. Premièrement, il ne génère pas que des Makefile (on peut générer des fichiers pour XCode, des fichiers pour Visual Studio...). Ensuite, il supporte un pseudo langage permettant les conditions, la création de fonction et bien plus.
Avatar de koala01
Expert éminent sénior https://www.developpez.com
Le 21/06/2018 à 16:59
En fait, qmake (et sans doute Qbs, que je ne connais absolument pas) est un outil de configuration de projet, au même titre que CMake ou les "autotools" (autoconf, autoheader, automake et libtool) sous linux.

Il est un peu réducteur de parler de ces outils comme de "simple générateurs de Makefile", non seulement parce que, comme LittleWhite l'a fait valoir, il peut générer les informations permettant de compiler le projet pour différents EDI, mais surtout parce que cette génération n'est en définitive que la dernière étape d'un processus qui se contenterait de traduire
j'ai tel fichier .cpp
en langage "Makefile" sous la forme de
compile x.cpp pour obtenir x.o
ou
j'ai <telle liste de fichiers .o>
en langage Makefile sous la forme de
génère moi la bibliothèque Truc.dll
Avant cela, il y a tout un processus de vérification des dépendances et d'adaptations éventuelles qui doit être exécuté
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 25/01/2019 à 21:35
Qt 6 n'est vraisemblablement pas prévu avant 2020. Il n'empêche que les développeurs commencent à s'activer pour cette version 6, avec des changements prévus qui s'accumulent — mais qui ne peuvent pas être intégrés dans Qt 5, à cause d'un problème de compatibilité binaire ou des sources. Par exemple, certains souhaitent ne plus laisser un accès direct aux données de QLabel par la méthode pixmap() : elle renvoie un pointeur sur les données internes de l'objet QLabel, alors qu'il serait possible de retourner directement les valeurs nécessaires (sans risque que le code extérieur manipule l'état du QLabel).
Les plans au niveau du branchement dans le dépôt Git sont les suivants. Qt 6 disposerait de sa propre branche de développement, en parallèle de celle de Qt 5. Chacune aurait un développement actif et indépendant ; cependant, les changements apportés à Qt 5 seraient régulièrement fusionnés dans la branche Qt 6. Ceci ne serait valable que pour les modules développés dans le dépôt qtbase.git, pour des raisons liées au système d'intégration continue — bien évidemment, le travail continue de ce côté pour éliminer cette restriction.
Pour limiter la casse lors de la mise à jour du code utilisateur vers Qt 6, les fonctions qui seront supprimées dans Qt 6 devront impérativement avoir été marquées comme désapprouvées dans une version de Qt 5. Aucun changement ne sera permis au niveau du système de compilation, sauf en ce qui concerne la migration complète vers CMake. Ce point est d'ailleurs bloquant pour le moment au niveau de l'intégration continue.
Source : Qt 6 To Begin Early Stages Of Development In Git.
Avatar de Matthieu76
Membre éclairé https://www.developpez.com
Le 29/01/2019 à 14:55
Qt 6 ne sera pas basé sur C++ 2020 ? C'est vraiment dommage.
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 29/01/2019 à 17:10
Qt vise aussi pas mal de plateformes embarquées, dont les compilateurs ont souvent du mal à suivre l'évolution de la norme C++… Il n'est d'ailleurs pas sûr que les compilateurs implémentent vraiment la norme C++2020 sans trop de défauts d'ici à Qt 6. Je trouve, au contraire, ce choix assez bien réfléchi — en espérant qu'ils se permettront de passer à une version plus récente de C++ dans le cycle de vie de Qt 6.
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -

Partenaire : Hébergement Web