Logo du framework QtOutil de développement multiplateforme et open-source développé par The Qt Company

Version majeure actuelle : Qt 6 (depuis 2020)
Version stable dotée d'un support à long terme : Qt 6.8 LTS (08/10/2024)

Licence double libre et commerciale
Téléchargement selon la nature de votre projet

Site officiel : http://www.qt.io/

 

Qt® est un framework de développement complet, écrit en C++, permettant de développer des applications robustes et polyvalentes. Initialement conçu pour faciliter la création d'interfaces graphiques compatibles avec différents systèmes d'exploitation (Windows, macOS, Linux, Android, iOS, embarqué), Qt s'impose aujourd'hui comme un framework applicatif généraliste, largement utilisé en entreprise dans tout type de matériel (médical, aéronautique, scientifique, etc.). Il se combine très bien avec différents langages (Java, Python, etc.).

Avec la version 6, le framework Qt n'a pas seulement consolidé ses acquis, il s'est aussi modernisé pour mieux répondre aux besoins actuels et offrir une expérience de développement optimisée.

Notez que Qt 5 n'est plus activement développé et que son support à long terme (LTS) est désormais réservé aux détenteurs d'une licence commerciale. Pour les projets open-source, l'utilisation de Qt 6 est la voie à suivre.

À quoi sert Qt ?

Qt est un ensemble de bibliothèques et d'outils qui permettent aux développeurs d'écrire le code de leur application une seule fois et de le compiler pour qu'il s'exécute sur de nombreuses plateformes, qu'il s'agisse d'ordinateurs de bureau, de systèmes embarqués ou d'appareils mobiles.

Sa philosophie est de fournir une abstraction de haut niveau pour les éléments non portables d'un système :

  • interfaces graphiques (fenêtres, boutons, etc.)
  • accès au réseau et aux bases de données ;
  • gestion des threads ;
  • analyse XML et JSON ;
  • etc.

En utilisant Qt, un développeur peut se concentrer sur la logique de son application, en laissant au framework le soin de s'adapter aux spécificités de chaque système d'exploitation.

Les piliers de Qt 6 : Une base technique renouvelée

Le passage à Qt 6 n'est pas une simple mise à jour, mais une refondation technique visant à préparer le framework pour les prochaines décennies.

Une base moderne : C++17

Qt 6 abandonne la compatibilité avec les anciens standards et exige désormais un compilateur C++17. Ce saut permet d'utiliser les fonctionnalités les plus modernes du langage, résultant en une API plus claire, plus sûre et souvent plus performante.

Un moteur graphique nouvelle génération : RHI

C'est la révolution majeure "sous le capot". Qt 6 introduit la RHI (Rendering Hardware Interface), une couche d'abstraction qui découple le code de rendu de l'API graphique sous-jacente. Concrètement, Qt peut désormais utiliser nativement le moteur graphique le plus performant de chaque plateforme :

  • Direct3D 11/12 sur Windows ;
  • Metal sur macOS et iOS ;
  • Vulkan sur les systèmes modernes (Linux, Windows, Android).

Cela se traduit par des performances graphiques optimales et une pérennité assurée.

CMake : Le système de build de référence

Si l'historique qmake est toujours supporté, CMake est maintenant le système de build officiellement recommandé pour tous les nouveaux projets Qt 6. Son adoption facilite l'intégration de bibliothèques tierces et s'aligne sur les standards de l'écosystème C++.

Deux approches pour créer vos interfaces

Qt propose deux technologies distinctes pour la création d'interfaces utilisateur (UI), répondant à des besoins différents.

Qt Widgets : la robustesse pour le bureau

Qt Widgets est l'approche historique et éprouvée pour créer des interfaces de bureau traditionnelles. Elle offre un ensemble complet de composants (boutons, menus, tableaux, etc.) qui s'intègrent parfaitement à l'apparence native de Windows, macOS ou Linux. C'est le choix classique pour les applications complexes orientées métier ou les logiciels de productivité où la performance et l'intégration système priment.

Qt Quick & QML : la flexibilité pour les UI modernes

Qt Quick est le framework graphique moderne de Qt. Il utilise le langage QML, un langage déclaratif inspiré de CSS et JSON, pour décrire l'interface utilisateur. Le QML permet de créer des interfaces fluides, animées et entièrement personnalisées, idéales pour les applications mobiles, les systèmes embarqués et les logiciels au design soigné.

Avec Qt 6, QML a fortement évolué, intégrant :

  • un typage plus fort pour un code plus robuste ;
  • la compilation du code QML en C++ natif, offrant des gains de performance et de temps de démarrage considérables.

L'écosystème Qt : bien plus qu'une bibliothèque

Développer avec Qt, c'est aussi profiter d'un écosystème riche. Vous disposez en particulier de Qt Creator, un IDE (Environnement de Développement Intégré) multiplateforme complet qui intègre un éditeur de code, un concepteur visuel d'interfaces (Qt Designer), un débogueur et des outils d'analyse de performance.

Un large éventail d'utilisation : du microcontrôleur au supercalculateur

L'une des plus grandes forces de Qt aujourd'hui est son adaptabilité. On le retrouve partout :

  • logiciels de bureau : des applications comme VLC Media Player, Autodesk Maya ou l'IDE RStudio ;
  • systèmes embarqués : les tableaux de bord de voitures (Mercedes-Benz, Tesla) et les systèmes d'info-divertissement, les appareils médicaux, etc. ;
  • applications mobiles : Qt permet de déployer la même application sur Android et iOS ;
  • microcontrôleurs (MCUs) : avec Qt for MCUs, il est désormais possible de créer des interfaces graphiques riches sur des puces très peu puissantes, ouvrant la voie à des objets connectés intelligents et réactifs.

Qt opère sous un modèle double : Licence Commerciale : Destinée aux entreprises développant des logiciels propriétaires. Elle offre un support technique complet, des outils supplémentaires et la liberté de ne pas partager son code source. Licence Open Source : Principalement la LGPLv3, qui permet d'utiliser Qt gratuitement pour des projets open source ou même propriétaires, à condition de respecter certaines règles (notamment la possibilité pour l'utilisateur final de remplacer la bibliothèque Qt). Une différence notable avec Qt 6 est que les versions LTS (Long-Term Support), qui garantissent un support étendu sur plusieurs années, sont désormais réservées aux détenteurs d'une licence commerciale.

Licence open-source ou licence commerciale ?

Qt est disponible sous deux modèles de licence :

  • Licence open-source (gratuite) : principalement la LGPLv3, qui permet d'utiliser Qt gratuitement pour ses projets, même commerciaux, du moment que certaines règles sont respectées (notamment l'obligation de rendre son code public)
  • Licence commerciale (payante) : destinée aux entreprises développant des logiciels propriétaires. Elle offre un support technique complet, des outils et services complémentaires (listés dans un tableau comparatif sur le site de Qt) et la liberté de ne pas partager son code source.

Qt à ses débuts était sous licence propriétaire. Puis une version sous licence GPL pour les projets non commerciaux a été introduite suite aux pressions de la communauté de l'environnement graphique libre KDE développé avec Qt. Depuis lors la KDE Free Qt Foundation a veillé au maintien d'une version sous licence libre.

Une différence notable avec Qt 6 est que les versions LTS (Long-Term Support), qui garantissent un support étendu sur plusieurs années, sont désormais réservées aux détenteurs d'une licence commerciale.

Qui est derrière Qt ?

Trolltech, Nokia, Digia, KDAB, et j'en passe... il y a beaucoup de monde derrière Qt – de quoi être un peu désorienté lorsqu'on débute.

Trolltech, c'est la société qui a créé Qt au début des années 90. Ils sont à l'origine des versions Qt1, Qt2, Qt3 et Qt4.

En 2008, Nokia a racheté Qt et Trolltech, qui est renommée Qt Software et devient une filiale de Nokia. Pendant les années Nokia, Qt a beaucoup changé : de bibliothèque dédiée au développement d'interfaces graphiques, il se généralise et commence à cibler les plateformes mobiles. À partir de 2011, son développement jusque-là confié à des équipes internes s'ouvre vers l'extérieur et devient plus transparent : quiconque peut désormais le suivre, voire y contribuer.

En août 2012, Nokia cède officiellement la gestion du framework à la société Digia. Et en 2016, The Qt Company se sépare de Digia et fait son entrée en bourse sous le nom de Qt Group Plc. Son siège est en Finlande.

Et KDAB ? En fait, c'est une société d'expertise en Qt, proche de KDE et très impliquée dans le projet depuis ses débuts. Elle a formé de nombreux développeurs Qt, notamment parmi ceux qui ont travaillé chez Nokia. En 2012, alors que Nokia se désengageait et que Digia n'avait pas encore repris le flambeau, c'est elle qui a assuré une forme de continuité et a pris l'initiative d'organiser les Qt Developer Days à Berlin (devenus depuis le Qt World Summit).

Voir aussi


Installation de Qt 6 par Guillaume Belz

Qt 6 en pratique écrit par Mériadeg Perrinel [2025]

Créer des applications graphiques en Python avec PyQt5 écrit par Thibaut Cuvelier et Pierre Denis (Utilisation de Qt 5 en Python) [2017]

Créez des applications en Qt 5 - Les essentiels écrit sous la direction de Jonathan Courtois par Guillaume Belz, Thibaut Cuvelier, Ilya Diallo, Vincent Meyer, Florent Renault, Vincent du Verdier [2013]

Couverture du livre Qt 6 en pratique

Entretien avec Mériadeg Perrinel sur Qt 6Rencontre avec Mériadeg Perrinel, consultant en développement logiciel, spécialisé en C++ QML et Qt [2025]
Où il est question de Qt 6, de ses nouveautés, du choix entre le QML et Qt Widgets, des licences et bien sûr du livre Qt 6 en pratique écrit par Mériadeg. Lire la suite

22-visuel1390142937.jpgEntretien avec David Faure, directeur général de KDAB France, sur Qt et son développement [2014]
KDAB est une société suédoise, spécialisée dans le développement Qt, qui a formé de nombreux développeurs Qt à travers le monde et contribue au développement du framework. David Faure dirige sa filiale française Lire la suite

Entretien avec Jonathan Courtois sur Qt 5Qt : Le choix du multiplate-forme [2013]
Entretien avec Jonathan Courtois, développeur Qt/C++, sur le framework de développement multiplate-forme Qt, ses points forts, la migration vers la nouvelle version 5. Lire la suite