Sur cette page

Interfaces utilisateur

Les principales technologies d'interface utilisateur du Qt Interface Framework sont Qt Quick et Qt Widgets. Les interfaces « Qt Quick » sont fluides, dynamiques et s’adaptent parfaitement aux écrans tactiles. Les « Qt Widgets » permettent de créer des applications de bureau complexes. Vous pouvez créer des interfaces « Qt Quick » et « Qt Widgets » en conservant l’aspect et la convivialité natifs de la plateforme cible.

La création d’interfaces utilisateur avec Qt Quick

Qt Quick permet de créer des interfaces utilisateur dynamiques et fluides. Le Qt Quick Controls module fournit des types QML tels que des boutons, des boîtes de dialogue et des menus. Vous pouvez utiliser QML, un langage déclaratif, pour créer l’interface utilisateur, et JavaScript pour implémenter la logique.

La liste suivante contient des présentations générales associées :

Qt Widgets Interfaces utilisateur

Qt Widgets sont les éléments d’interface utilisateur typiques des environnements de bureau. Les widgets s’intègrent parfaitement à la plateforme sous-jacente, offrant une apparence et une ergonomie natives sous Windows, Linux et macOS. Ces widgets sont des éléments d’interface utilisateur aboutis et riches en fonctionnalités, adaptés principalement aux interfaces utilisateur traditionnelles. Contrairement à Qt Quick, ces widgets sont destinés à la création d’applications de bureau de grande envergure et sont moins adaptés à la création d’applications centrées sur le tactile dotées d’interfaces fluides.

La liste suivante contient des présentations générales relatives à Qt Widgets:

Comparaison des technologies d'interface utilisateur

Le tableau suivant présente une comparaison entre Qt Quick et Qt Widgets, en mettant en évidence leurs atouts, leurs limites et leurs cas d'utilisation idéaux :

FonctionnalitéQt Quick et Qt Quick ControlsQt WidgetsExplication
Langages principauxQML et JavaScriptLe C++Qt Quick est déclaratif. Qt Widgets est impératif, du C++ classique.
Aspect et comportement natifsOui (via les styles d'Qt Quick Controls ).Oui (widgets de bureau natifs).Les deux prennent en charge l'aspect et la convivialité natifs sur leurs plateformes cibles.
Personnalisation du styleOui (styles personnalisables, composants QML personnalisés).Oui (feuilles de style Qt).Les deux frameworks permettent une personnalisation approfondie du style grâce à différents mécanismes.
Animations et transitions fluidesOui (animations accélérées par le GPU intégrées).Limitées (prises en charge via QPropertyAnimation, mais non conçues pour des animations fluides de l'interface utilisateur).Qt Quick est conçu pour des interfaces utilisateur animées et modernes. Ce n'est pas le cas d'Qt Widgets.
Prise en charge du tactileOui (conçu pour le tactile et les gestes).Limité (les événements tactiles existent, mais les Qt Widgets partent du principe que l'entrée se fait via la souris et le clavier).Qt Quick gère mieux les entrées multimodales. Qt Widgets nécessitent davantage de travail manuel pour offrir une bonne expérience utilisateur tactile.
Widgets standard du secteurOui (fournit des contrôles de bureau courants, et les composants personnalisés peuvent implémenter n’importe quel widget requis).Oui (ensemble complet de widgets de bureau matures et prêts à l’emploi).Qt Quick Peut implémenter tous les types de contrôles de bureau, mais les Qt Widgets incluent d’emblée un ensemble plus large de widgets traditionnels.
Programmation modèle/vueOui (prise en charge flexible des modèles avec des vues basées sur des délégués, telles que ListView et TableView).Oui (ensemble complet de vues MVC classiques, notamment QTableView, QListView et QTreeView).Les deux technologies prennent en charge une programmation modèle/vue robuste. Qt Quick utilise des délégués pour séparer clairement les données de la présentation, tandis que Qt Widgets fournit un large ensemble de classes modèle/vue matures et prêtes à l’emploi.
Prototypage rapide d’interfaces utilisateurOui (itération très rapide en QML).Oui (rapide pour les interfaces utilisateur traditionnelles, en particulier avec Qt Widgets Designer).Qt Quick est particulièrement bien adapté au prototypage visuel rapide, tandis que Qt Widgets permet l’assemblage rapide d’interfaces de bureau classiques à l’aide d’ Qt Widgets Designer.
Graphismes accélérés par le matérielOui (accélération par GPU via le graphe de scène d’Qt Quick ).Partiellement (les widgets sont rendus par logiciel. Widgets OpenGL possibles mais isolés).Seul Qt Quick offre une accélération GPU intégrée pour l’ensemble de la scène. Voir la section « Graphismes » pour plus d’informations.
Graphical EffectsOui (flou, lueur, ombre portée, effets de couleur et plus encore, basés sur des shaders).Limité (effets de base via Qt GUI uniquement).Qt Quick offre des effets visuels riches, pilotés par le GPU. Qt Widgets ne propose que des effets simples pilotés par le CPU.
Traitement de texte enrichi.Oui (les classes de documents de texte enrichi de Qt peuvent être utilisées dans Qt Quick et Qt Quick Controls'TextArea, mais peuvent nécessiter une implémentation en C++).Oui (prise en charge complète via QTextDocument, QTextEdit et les classes associées).Ces deux technologies peuvent être utilisées pour créer des éditeurs de texte complexes. Qt Quick s’intègre au moteur de texte enrichi de Qt via QTextDocument, tandis que Qt Widgets fournit un ensemble abouti de classes prêtes à l’emploi pour la gestion du texte.

Remarque : vous pouvez afficher des vues QML dans une interface utilisateur Qt Widgets. Pour plus d’informations, consultez la section WidgetsQt Quick .

Les pages suivantes contiennent davantage d’informations sur la conception et le développement d’interfaces utilisateur :

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.