Création et utilisation de composants pour le Designer d'Qt Widgets
Création de plug-ins de widgets personnalisés
Lors de l’implémentation d’un plugin de widget personnalisé pour le Designer d’ Qt Widgets, vous devez créer une sous-classe de ` QDesignerCustomWidgetInterface ` afin de rendre votre widget personnalisé accessible au Designer d’ Qt Widgets. Un plugin de widget personnalisé est constitué d’une bibliothèque distincte. Si vous souhaitez inclure plusieurs plugins de widgets personnalisés dans une même bibliothèque, vous devez en outre créer une sous-classe de ` QDesignerCustomWidgetCollectionInterface`.
Pour doter votre plugin de widget personnalisé du comportement et des fonctionnalités attendus au sein de l’espace de travail du Designer d’ Qt Widgets, vous pouvez créer une sous-classe des classes d’extension associées :
La classe ` QDesignerContainerExtension ` vous permet d’ajouter des pages à un conteneur multipages personnalisé. La classe ` QDesignerTaskMenuExtension ` vous permet d’ajouter des entrées de menu personnalisées au menu des tâches du Designer d’ Qt Widgets. La classe ` QDesignerMemberSheetExtension ` vous permet de manipuler les fonctions membres d’un widget qui s’affichent lors de la configuration des connexions à l’aide du mode d’édition des signaux et des slots de l’ Qt Widgets Designer. Enfin, la classe ` QDesignerPropertySheetExtension ` vous permet de manipuler les propriétés d’un widget qui s’affichent dans l’éditeur de propriétés de l’ Qt Widgets Designer.
Qt Widgets Designer" src="images/qtdesignerextensions.png" title="Schéma illustrant les relations entre les composants de Qt Widgets Designer"/>
Dans le Designer d’ Qt Widgets, les extensions ne sont créées qu’au moment où elles sont requises. C'est pourquoi, lors de l'implémentation d'extensions, vous devez également créer une sous-classe de ` QExtensionFactory`, c'est-à-dire créer une classe capable de créer des instances de vos extensions. De plus, vous devez faire en sorte que le gestionnaire d'extensions de l'éditeur Qt Widgets enregistre votre fabrique ; le gestionnaire d'extensions contrôle la création des extensions au fur et à mesure des besoins, et vous pouvez y accéder via QDesignerFormEditorInterface et QExtensionManager.
Pour un exemple complet de création d’un plugin de widget personnalisé avec une extension, consultez les exemples « Extension du menu des tâches » ou « Extension de conteneur ».
Accès aux composants d’ Qt Widgets Designer
Les classes mentionnées dans cette section ont pour but de fournir un accès aux composants, aux gestionnaires et à l’espace de travail d’ Qt Widgets Designer ; elles ne sont pas destinées à être instanciées directement.
Qt Widgets Designer est composé de plusieurs composants. Il dispose d’un éditeur d’actions, d’un éditeur de propriétés, d’une boîte à widgets et d’un inspecteur d’objets que vous pouvez visualiser dans son espace de travail.
Qt Widgets Designer" src="images/qtdesignerscreenshot.png" title="Capture d'écran présentant l'interface utilisateur de l'éditeur Qt Widgets Designer"/>
Qt Widgets Designer dispose également d’un objet qui fonctionne en arrière-plan ; il contient la logique qui intègre tous les composants de Qt Widgets Designer au sein d’une application cohérente. Vous pouvez accéder à cet objet, à l’aide de la classe ` QDesignerFormEditorInterface`, pour récupérer les interfaces des composants de Qt Widgets Designer :
- QDesignerActionEditorInterface
- QDesignerObjectInspectorInterface
- QDesignerPropertyEditorInterface
- QDesignerWidgetBoxInterface
Qt Widgets De plus, vous pouvez utiliser ` QDesignerFormEditorInterface ` pour récupérer les interfaces du gestionnaire d’extensions (`QExtensionManager`) et du gestionnaire de fenêtres de formulaire (`QDesignerFormWindowManagerInterface`) de Designer d’ . Le gestionnaire d’extensions contrôle la création des extensions au fur et à mesure des besoins, tandis que le gestionnaire de fenêtres de formulaire contrôle les fenêtres de formulaire apparaissant dans l’espace de travail de Designer d’ Qt Widgets.
Une fois que vous disposez d’une interface vers le gestionnaire de fenêtres de formulaire d’ Qt Widgets Designer (QDesignerFormWindowManagerInterface), vous avez également accès à toutes les fenêtres de formulaire actuellement affichées dans l’espace de travail d’ Qt Widgets Designer : La classe ` QDesignerFormWindowInterface ` vous permet d’interroger et de manipuler les fenêtres de formulaire, et fournit une interface vers les curseurs de ces fenêtres. ` QDesignerFormWindowCursorInterface ` est une classe pratique qui vous permet d’interroger et de modifier la sélection des widgets d’une fenêtre de formulaire donnée, ainsi que de modifier les propriétés de tous les widgets de ce formulaire.
Création d’interfaces utilisateur à l’exécution
Le module QtDesigner contient la classe QFormBuilder, qui fournit un mécanisme permettant de créer dynamiquement des interfaces utilisateur à l’exécution, à partir de fichiers d’interface utilisateur créés avec Qt Widgets Designer. Cette classe est généralement utilisée par des composants personnalisés et des applications intégrant Qt Widgets Designer. Les applications autonomes qui doivent générer dynamiquement des interfaces utilisateur à l’exécution utilisent la classe QUiLoader, disponible dans le module QtUiTools.
Pour un exemple complet d'utilisation de ` QUiLoader`, consultez l'exemple « Calculator Builder ».
Voir également le manuel du concepteur d’Qt Widgets et Qt UI Tools.
© 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.