Qt Widgets
La Qt Widgets Module fournit un ensemble d’éléments d’interface utilisateur permettant de créer des interfaces utilisateur classiques de type bureau. Consultez la présentation des interfaces utilisateur pour plus d’informations sur l’utilisation des widgets.
Widgets
Les widgets constituent les éléments principaux pour la création d’interfaces utilisateur dans Qt. Ils peuvent afficher des données et des informations d’état, recevoir des entrées utilisateur et servir de conteneur à d’autres widgets devant être regroupés. Un widget qui n’est pas intégré à un widget parent est appelé « fenêtre ».

La classe ` QWidget ` fournit les fonctionnalités de base pour l'affichage à l'écran et la gestion des événements d'entrée utilisateur. Tous les éléments d'interface utilisateur fournis par Qt sont soit des sous-classes de ` QWidget `, soit utilisés en association avec une sous-classe de ` QWidget `. Pour créer des widgets personnalisés, créez une sous-classe de ` QWidget ` ou d'une sous-classe appropriée, puis réimplémentez les gestionnaires d'événements virtuels.
- Widgets de fenêtre et de boîte de dialogue
- Fenêtre principale de l’application
- Fenêtres de dialogue
- Focalisation du clavier dans les widgets
Styles
Les styles s'occupent du tracé à la place des widgets et encapsulent l'apparence et le comportement d'une interface graphique. Les widgets intégrés de Qt utilisent la classe ` QStyle ` pour effectuer la quasi-totalité de leur tracé, garantissant ainsi qu'ils ressemblent exactement aux widgets natifs équivalents.
|
|
|
Les feuilles de style Qt permettent de personnaliser l'apparence des widgets à l'aide de règles de type CSS. La section « Approches de mise en forme pour Qt Widgets » explique quand utiliser un style, StyleKit ou une feuille de style.
Mises en page
Les mises en page constituent un moyen élégant et flexible d’agencer automatiquement les widgets enfants au sein de leur conteneur. Chaque widget communique ses exigences de taille à la mise en page via les propriétés ` sizeHint ` et ` sizePolicy `, et la mise en page répartit l’espace disponible en conséquence.
|
|
Qt Widgets Designer est un outil puissant permettant de créer et d’agencer de manière interactive des widgets dans des mises en page.
Classes Modèle/Vue
L’architecture modèle/vue fournit des classes qui gèrent la manière dont les données sont présentées à l’utilisateur. Les applications pilotées par les données qui utilisent des listes et des tableaux sont structurées de manière à séparer les données et la vue à l’aide de modèles, de vues et de délégués.

Vue graphique
Le framework de vue graphique permet de gérer et d’interagir avec un grand nombre d’éléments graphiques 2D personnalisés, ainsi qu’un widget de vue pour visualiser ces éléments, avec prise en charge du zoom et de la rotation.

Utilisation du module
L'utilisation de l'API C++ d'un module Qt nécessite une liaison avec la bibliothèque du module, soit directement, soit via d'autres dépendances. Plusieurs outils de compilation offrent une prise en charge dédiée à cet effet, notamment CMake et qmake.
Compilation avec CMake
Utilisez la commande « find_package() » pour localiser le composant de module requis dans le paquet « Qt6 » :
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)Pour plus de détails, consultez la présentation « Compilation avec CMake ».
Compilation avec qmake
Pour configurer le module en vue d’une compilation avec qmake, ajoutez le module en tant que valeur de la variable ` QT ` dans le fichier `.pro` du projet :
QT += widgetsConsidérations de sécurité
Plusieurs classes de la bibliothèque « Qt Widgets » désérialisent ou analysent des données qu’une application peut fournir à partir de n’importe quelle source, et Qt ne peut pas en vérifier la provenance. Prêtez une attention particulière aux points suivants :
- QHeaderView::restoreState() désérialise un blob d’état binaire versionné.
- QFileDialog::restoreState() désérialise également un blob d’état binaire, qui intègre un blob d’état « QHeaderView ».
- QMainWindow::restoreState() désérialise un blob d'état binaire décrivant une disposition de barres d'outils et de widgets ancrables imbriquées de manière récursive.
- QSplitter::restoreState() désérialise un blob d’état binaire décrivant les tailles et l’orientation des séparateurs.
- Les feuilles de style Qt peuvent référencer et charger des fichiers locaux arbitraires via la fonction `
url()`.
Ne transmettez à ces API que des données que votre application a elle-même produites et persistées au préalable (généralement via ` QSettings`), ou qui sont par ailleurs entièrement sous le contrôle de votre application.
Articles et guides
- Tutoriel sur les widgets
- Premiers pas en programmation avec Qt Widgets
- Qt Creator: Tutoriel : application « Qt Widgets »
- Qt Extension for Visual Studio Code: Tutoriel : application « Qt Widgets »
- Tutoriel sur le modèle/la vue
- Approches de mise en forme pour Qt Widgets
Exemples
Référence API
Évolution du module
La section «Modifications apportées à l'Qt Widgets » répertorie les modifications importantes apportées à l'API et aux fonctionnalités du module dans le cadre de la série Qt 6.
Licences
Le module « Qt Widgets » est disponible sous des licences commerciales auprès de The Qt Company. Il est également disponible sous des licences de logiciel libre : la Licence publique générale restreinte GNU, version 3, ou la Licence publique générale GNU, version 2. Pour plus de détails, consultez la page Licences Qt.
© 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.




