Qt est un framework (cadriciel en français) multiplateforme écrit en C++ avec des bindings pour Python et Ruby notamment. Il est la base de l'environnement de bureau KDE et Razor-qt. Certaines applications très connues l'utilisent. Citons par exemple VLC, Google Earth, Skype et VirtualBox. La version 5.1 vient d'être publiée ce 3 juillet.
Rappelons que Qt s'écrit Q majuscule et t minuscule, sinon QT c'est l'abbréviation de QuickTime. Cela se prononce « cute » comme mignon en anglais.
Les nouveaux widgets de Qt Quick
Un gros manque de Qt Quick, le langage de description d'interface de Qt, c'était le manque de widget (c'est-à-dire les boutons, barres de progression…). En dehors des rectangles et des ronds, il n'y avait pas grand chose. C'est un problème résolu avec cette version qui apporte tout cela et, comme toujours avec Qt, cela s'adapte bien évidemment au thème actuel de votre plateforme mais peut être stylé à votre convenance. Cela va permettre de développer (ou de migrer) les applications avec des interfaces un peu plus évoluées.
Gestionnaires de mise en page pour Qt Quick
Un gestionnaire de mise en page est un widget qui permet de disposer automatiquement ses widgets enfants. De nouveaux gestionnaires de mise en page font leur apparition pour permettre de mieux réaliser vos interfaces graphiques. Il est possible de les utiliser pour mélanger des QWidget en C++ et des éléments Qt Quick en QML.
Port pour Android et iOS
Des versions pour Android et iOS sont disponibles en tant que technology preview. Pour le premier, quasiment tout est fonctionnel (Qt Sensors, Qt Quick 2…) sauf la gestion de la caméra dans Qt Multimedia, Qt WebKit et Qt Serialport. La version 5.2 est censée fournir un port officiel pour cette plateforme. Du côté de la pomme, c'est moins bien pris en charge (pas de Qt Quick 2, normalement il viendra avec la 5.2) et le développement doit être fait avec XCode et non pas avec Qt Creator.
Qt 5.1 est livré avec la version 2.7.2 de QtCreator
L'amélioration principale de cette version est le support du développement pour Android, mais de nombreuses corrections de bugs sont de la partie.
Qt Serial Port
Un nouveau module nommé Qt Serial Port fait son apparition. Comme son nom l'indique, il permet d’interagir avec les ports série du système. Ce module est disponible pour les cibles Windows, Linux et OS X.
Aller plus loin
- Qt - Wikipédia (135 clics)
- Liste des logiciels utilisant Qt (non exhaustive) (221 clics)
- Liste des améliorations techniques de Qt 5.1 (195 clics)
- L'annonce de la sortie (51 clics)
- Qt 5.1 (134 clics)
# Migrations ?
Posté par Raphael R . Évalué à 10.
Je remarque (à tord ?) que de plus en plus de projets, certes d'ampleur modeste en général, commencent à migrer de GTK2/3 vers Qt, comme par exemple LXDE dernièrement. Effet de "mode" ou vague de fond en devenir ?
[^] # Re: Migrations ?
Posté par ʭ ☯ . Évalué à 10.
Vague de fond : alors que GTK stagne et se spécialise trop pour Gnome 3, Qt est de plus en plus générique, permettant des petites applications aussi bien que KDE.
⚓ À g'Auch TOUTE! http://afdgauch.online.fr
[^] # Re: Migrations ?
Posté par Zylabon . Évalué à -10.
Petites… C'est Qt quand même…
Please do not feed the trolls
[^] # Re: Migrations ?
Posté par Sylvain Colinet (site web personnel) . Évalué à 10.
Qt est divisée en plusieurs morceaux pour réduire la taille d'une application, surtout utile genre sous os X et Windows. 13Mo les DDL de QtCore + QtGui par exemple, c'est très peu pour tout ce que ça offre en fonctionnalité. le libgtk.dll fait 15Mo, tu rajoutes glib/gio tu dépasses les 20Mo pour quelque chose de même pas équivalent.
Il y a aussi le fait que Qt est vraiment plus utilisable/déployable que Gtk, et il y a un effort considérable de fait pour s'intégrer le mieux au système (Niveau visuel ou outil genre sélection de fichier).
Ca peut paraître idiot, mais mes appli Qt, j'aime bien avoir le sélecteur de fichier de Windows 7 ou KDE selon la plateforme où je suis et pas un truc dégueux qu'on peut retrouver dans GIMP.
C'est une bonne nouvelle d'avoir enfin des équivalents des QWidget dans QtQuick, ça correspond mieux à l'optique de s'intégrer au système dans lequel tourne son application et pas faire juste des applications genre Winamp avec son rendu personnalisé
[^] # Re: Migrations ?
Posté par flan (site web personnel) . Évalué à -4.
Par contre, point de vue intégration, ce n'est quand même pas top (surtout sur OS X :/)
[^] # Re: Migrations ?
Posté par Frank-N-Furter . Évalué à 8.
C'est toujours mieux que gtk (surtout sous OS X).
Depending on the time of day, the French go either way.
[^] # Re: Migrations ?
Posté par Guillaume Denry (site web personnel) . Évalué à 10. Dernière modification le 07 juillet 2013 à 09:55.
Longtemps adepte des applications qui reprennent le look natif de l'environnement sur lequel elles tournent, je trouve depuis quelques temps appréciable de faire tourner des applis qui ont leur propre identité visuelle (Blender est un bon exemple). En cela, je n'attendais pas avec ferveur le côté "theming" des QtQuick Controls, SAUF qu'il n'y a pas que le visuel, ces nouveaux contrôles offrent vraiment un panel élargi de fonctionnalités sympas (comme le StackView, un petit bijou pour faire des transitions animées entre des composants) ou bien simplement le support généralisé du tab focus chain, par exemple. Et au niveau look, les styles permettant de tout redéfinir, j'ai définitivement opté pour ces nouveaux contrôles et j'en suis plutôt content.
Je profite également de ce commentaire pour insister sur l'intérêt des nouveaux Layout de Qt 5.1.
On avait déjà un truc sympa avec les positioners (qui permettent d'ancrer un composant par rapport à son père ou son voisin) mais avec le RowLayout et le ColumnLayout (et le GridLayout), on retrouve enfin une vraie souplesse pour gérer automatiquement l'espace. Désormais, on peut réellement tout faire au poil comme on veut, il ne reste que très très peu de layouting impossible à réaliser sans les outils mis à notre disposition.
[^] # Re: Migrations ?
Posté par flan (site web personnel) . Évalué à 3.
Le look & feel d'un OS ne se résume pas à un joli thème. C'est aussi tirer parti de toutes les ressources de l'OS.
Pour reprendre l'exemple d'OS X que je connais mieux, une appli bien intégrée va utiliser les API pour les animations 2D/3D (ce sont des fichiers .qtz qui sont réutilisables dans les autres applications), pour le carnet d'adresse, le correcteur grammatical et orthographique, pour la synthèse et la reconnaissance vocale, la gestion des secrets (mots de passe, tokens PKCS11, clefs privées, certificats, …), les images et musiques, le mode plein écran, les raccourcis clavier (modifiable dans n'importe quelle appli Cocoa)…
On peut sûrement faire une liste équivalent pour Linux et Windows (enfin, probablement pas aussi complète, par expérience), mais je connais moins le sujet.
[^] # Re: Migrations ?
Posté par Guillaume Denry (site web personnel) . Évalué à 5.
Oui pour MacOSX en particulier, Qt se heurte au haut niveau d'abstraction offert par les API.
Leur philosophie est de factoriser au maximum les concepts (même nouveaux), par contre, lorsque MacOS X intègre dans son API un système de carnet d'adresse, on pourrait être en mesure de comprendre que Qt ne va pas immédiatement proposer un QAddressBook dans son API pour rester à niveau. Dans un monde idéal avec une infinité de développeurs, c'est probablement ce qu'il ferait, mais il y a tellement de boulot à faire au niveau des couches du dessous…
Bref, oui, tu as raison, l'intégration des applis Qt sous MacOS X est à mille lieux de ce qu'il est possible de faire avec les outils de développement natifs, c'est une chose à prendre en compte lorsque la cible MacOSX est importante pour son projet.
[^] # Re: Migrations ?
Posté par Gof (site web personnel) . Évalué à 6.
Il est toujours possible de développer en mode hybride en utilisant Qt quand ça marche, et les API natives dans les cas particulier ou c'est nécessaire.
[^] # Re: Migrations ?
Posté par Albert_ . Évalué à -4.
Au prix de la portabilité…
[^] # Re: Migrations ?
Posté par Guillaume Denry (site web personnel) . Évalué à 9.
En même temps, il s'agissait de pouvoir disposer des fonctionnalités précises d'un environnement lorsqu'on tourne sous cet environnement. Donc se plaindre d'un manque de portabilité dans ce cas, c'est assez cocasse :)
[^] # Re: Migrations ?
Posté par collinm (site web personnel) . Évalué à -1.
C'est quand même assez gros comme taille.
Je me rappel encore ceux qui râlait pour beaucoup moins que ça pour les programme fait en Delphi.
www.solutions-norenda.com
[^] # Re: Migrations ?
Posté par Guillaume Denry (site web personnel) . Évalué à 10.
Delphi de quelle année ? sur quel type de machine ? avec quelles contraintes ?
[^] # Re: Migrations ?
Posté par Troy McClure (site web personnel) . Évalué à 5.
Alors il suffit de faire un link static, et l'application sera nettement plus petite puisque toutes les parties non utilisées des libs qt seront enlevées
[^] # Re: Migrations ?
Posté par windu.2b . Évalué à 10.
Non : à tort !
[^] # Re: Migrations ?
Posté par Marotte ⛧ . Évalué à -1.
*à tort
# Dommage ça casse un peu l'interêt
Posté par Zenitram (site web personnel) . Évalué à 2.
C'est pire que ça, il y a toujours des régressions par rapport à Qt4 sur l'intégration Mac, ce qui fait qu'il est impossible pour quiconque a des utilisateurs Mac à cheval sur l'intégration (comme le sont les Linuxiens pour l'intégration Gnome et KDE) de passer à Qt5.
dur dur… Car ça casse l’intérêt de Qt pour bon nombre de personnes voulant faire de l'intégration comme il faut (et il y a plus d’utilisateurs Mac que Linux desktop). Ca râle pas mal la dessus, espérons que ce sera entendu.
[^] # Re: Dommage ça casse un peu l'interêt
Posté par collinm (site web personnel) . Évalué à -9.
tout dépendra s'il y a des gens intéressé à fixé ses régressions
et qui son sous os X
et là il risque d'être plus difficile dans trouve que sous linux ou windows
www.solutions-norenda.com
[^] # Re: Dommage ça casse un peu l'interêt
Posté par Xavier Verne (site web personnel) . Évalué à 6.
Ça pique un peu les yeux collinm, ce qui va suivre n'est pas une leçon mais 7 fautes en deux lignes et demi j'ai rarement vu ça :
Un minimum de correction et d'attention sur ce que tu écris te permettrait sûrement de ne pas être furieusement "moinssé", et donnerait à tes idées des chances d'être audibles et/ou crédibles.
[^] # Re: Dommage ça casse un peu l'interêt
Posté par ariasuni . Évalué à -4.
J’en profite:
on dirait plutôt:
Par ailleurs, dans le lien du commentaire parent au tiens se trouve un commentaire qui confirme que c’est non seulement le cas pour OS X mais aussi pour Windows (du coup ta phrase devient «et là il risque d’être plus difficile d’en trouver que sous GNU/Linux»).
Écrit en Bépo selon l’orthographe de 1990
# Are you from the past?
Posté par CrEv (site web personnel) . Évalué à 10.
Ce qui est bien avec Qt et GTK c'est qu'on a l'impression de pouvoir remonter le temps, ou plutôt que l'histoire se reproduit encore et encore. Tout comme emacs vis à vis de vi, Qt a toujours objectivement été supérieur à GTK, c'est un fait.
Et là, encore une fois, en toute objectivité cela va sans dire mais cela va mieux en le disant, Qt 5.1 rox des mamans ours là où GTK pédale dans la semoule en tentant vainement de copier OS X tout en se basant sur un langage fait pour tout sauf coder de vrai applications graphiques (ou alors pour des Kévin en puissance qui croient encore que le c c bien)
[^] # Re: Are you from the past?
Posté par Frank-N-Furter . Évalué à 10.
EMACS, vi, GTK, Qt, C, nice combo, I'm jealous…
Depending on the time of day, the French go either way.
[^] # Re: Are you from the past?
Posté par CrEv (site web personnel) . Évalué à 6.
Tu as oublié OS X ;-)
[^] # Re: Are you from the past?
Posté par Spack . Évalué à 5.
Dommage, en remplaçant par Apple ça te faisais 500 points de plus…
[^] # Re: Are you from the past?
Posté par Michaël (site web personnel) . Évalué à 2.
Je ne comprends pas ta réponse: je trouve qu'il est objectif et qu'il a raison! :-)
[^] # Re: Are you from the past?
Posté par cedric . Évalué à 6.
Parce les slots et signaux en C++, c'etait fait pour ? ;-) Ou alors l'obscurantisme des surcharges d'operateurs qui ameliorent grandement la lecture et la localisation d'un bug, d'un memory leak ou d'une perte de performance… Ah, le troll des langages !
Comme toujours un langage n'est bien que si il est maitrise par les personnes qui l'utilisent. Et le C++ n'est absolument pas une silver bullet dans ce domaine ! J'ai trop souvent vu des horreurs sur des projets industriels justement parce que fait en C++ par des architectes qui ne codent pas, mais qui voulait justifier leur job… Au moins en C, ils peuvent plus difficilement s'exprimer :-D Il n'y a guere que dans le logiciel libre que l'utilisation du C++ donne des resultats vraiment positif (en terme de fonctionnalite en tout cas) avec KDE, mais c'est aussi peut etre parce que chez GNOME ca fait dix ans qu'ils bossent a supprimer des fonctions !
[^] # Re: Are you from the past?
Posté par Michaël (site web personnel) . Évalué à 4.
C'est quoi le domaine de prédilection de C++ déjà? Des temps de compilation rédhibitoires et une faible valeur ajoutée, c'est ça?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.