Qt 6.4 : un framework C++, un IDE et un langage déclaratif

Résumé

Qt est un framework C++ multiplateforme pour des programmes graphiques et non graphiques, accompagné de l'IDE Qt Creator et du langage déclaratif QML.

Recommander
Nom
Qt
Version
6.4
Tarif
Payant
Open source
Open source
Mis à jour
2026-10-06 05:19

Trois choses sous un même nom

On parle souvent de Qt comme d'un produit. Ce sont en réalité trois choses : un framework C++ pour construire des applications, un environnement de développement intégré nommé Qt Creator, et un langage déclaratif nommé QML qui décrit une interface au lieu de la programmer. La version décrite ici est 6.4.

Le framework date de 1991, créé chez Qt Company, et il est bâti autour d'une décision qui le marque encore : écrire une fois, et laisser le framework gérer en dessous les différences entre plateformes. C'est pourquoi le même code source peut produire une fenêtre sur plusieurs systèmes de bureau sans chemin séparé pour chacun.

Fenêtre de Qt Creator

Une boîte à outils graphique qui ne fait pas que du graphique

L'usage évident est un programme graphique : fenêtres, contrôles, boîtes de dialogue, barre de menus. Le moins évident est que le même framework construit des programmes sans aucune interface — outils en ligne de commande, services, logiciel côté serveur. Une équipe qui connaît déjà le framework n'a pas à changer ses habitudes, ses fichiers de build ni sa gestion des erreurs quand ce qu'elle écrit ensuite s'avère être un démon plutôt qu'une application avec une fenêtre.

La propriété du projet a changé deux fois, et les deux changements font partie de son histoire plutôt que du bruit : Nokia a racheté la société en 2008, et en 2012 elle est passée à Digia, une entreprise finlandaise. Le framework a survécu aux deux transitions, ce qui, pour une boîte à outils qui couvre vingt ans, est le fait le plus pertinent.

L'IDE arrivé avec le rachat

Qt Creator est apparu après le rachat par Nokia : un environnement multiplateforme pour Qt, décrit à l'époque comme léger, par opposition aux environnements lourds qui prétendaient posséder tout le projet. Il tourne sous Linux, Mac OS et Windows, et vise plus d'une cible — le logiciel de bureau, et, depuis le même projet, des applications pour Android et pour les plateformes d'Apple.

Panneaux de projet et d'édition

QML, là où l'interface se décrit

QML est un langage de script déclaratif, et ses fichiers se terminent par .qml. Déclaratif signifie que le fichier énonce ce qu'est l'interface — un rectangle ici, une colonne d'éléments là, une transition quand cette valeur change — au lieu d'émettre les commandes qui la construiraient. La syntaxe imite volontairement le CSS, ce qui rend la partie mise en page lisible par des gens qui écrivent des pages web plutôt que des applications de bureau.

QML accepte aussi JavaScript, et c'est ainsi que le comportement se rattache à la description. Le moteur qui l'exécute dépend de Google V8 : un moteur JavaScript open source écrit en C++, utilisé dans Node.js, dans Chrome et dans Chromium. Un moteur JavaScript est une machine virtuelle chargée d'exécuter du JavaScript, normalement livrée avec un navigateur ; V8 peut aussi tourner hors d'un navigateur, et c'est ce qui permet d'employer le même langage sur le bureau. Cette autonomie du moteur est justement ce qui rend une interface écrite en QML exécutable hors d'un navigateur, sur le système lui-même.

QML et l'éditeur de formulaires

La licence, en une phrase

Le framework est développé ouvertement et disponible sous licence open source, avec une licence commerciale à côté pour les cas où les termes open source ne conviennent pas — c'est pourquoi il est décrit comme open source et non simplement gratuit. Pour un projet qui compte garder son propre code fermé, cette distinction est la première à vérifier et la dernière à laquelle on pense.

Où il trouve sa place

Honnêtement résumé, Qt convient aux logiciels qui doivent se ressembler sur plusieurs plateformes, vivre des années et être maintenus par des gens qui lisent du C++. Ce n'est pas le chemin le plus court vers un petit utilitaire, et son système de build ne paraîtra pas léger la première fois. En échange, il offre un framework assez ancien pour avoir survécu à ses propres rachats, un IDE fait pour lui, et une manière de décrire une interface qu'un designer peut lire.