Sur cette page

Création et utilisation de composants pour Qt Widgets Designer

Création de plugins de widgets personnalisés

Lorsque vous implémentez un plugin de widget personnalisé pour Qt Widgets Designer, vous devez sous-classer QDesignerCustomWidgetInterface pour exposer votre widget personnalisé à Qt Widgets Designer. Un plugin de widget personnalisé est construit comme une bibliothèque séparée. Si vous souhaitez inclure plusieurs plugins de widgets personnalisés dans la même bibliothèque, vous devez également sous-classer QDesignerCustomWidgetCollectionInterface.

Pour fournir à votre plugin de widget personnalisé le comportement et la fonctionnalité attendus dans l'espace de travail de Qt Widgets Designer, vous pouvez sous-classer les classes d'extension associées :

La classe QDesignerContainerExtension vous permet d'ajouter des pages à un conteneur multipage personnalisé. La classe QDesignerTaskMenuExtension vous permet d'ajouter des entrées de menu personnalisées au menu des tâches de Qt Widgets Designer. La classe QDesignerMemberSheetExtension vous permet de manipuler les fonctions membres d'un widget qui s'affichent lors de la configuration de connexions à l'aide du mode d'édition de signaux et d'emplacements de Qt Widgets Designer. Enfin, la classe QDesignerPropertySheetExtension permet de manipuler les propriétés d'un widget, affichées dans l'éditeur de propriétés de Qt Widgets Designer.

Diagramme montrant la relation entre les composants de <span translate=Qt Widgets Designer" src="images/qtdesignerextensions.png" title="Diagramme montrant la relation entre les composants de Qt Widgets Designer"/>

Dans Qt Widgets Designer, les extensions ne sont pas créées tant qu'elles ne sont pas nécessaires. C'est pourquoi, lorsque vous implémentez des extensions, vous devez également sous-classer QExtensionFactory, c'est-à-dire créer une classe capable de créer des instances de vos extensions. En outre, vous devez faire en sorte que le gestionnaire d'extensions de Qt Widgets Designer enregistre votre fabrique ; le gestionnaire d'extensions contrôle la construction des extensions au fur et à mesure qu'elles sont requises, et vous pouvez y accéder par l'intermédiaire de QDesignerFormEditorInterface et QExtensionManager.

Pour un exemple complet de création d'un plugin de widget personnalisé avec une extension, voir les exemples d'extension de menu de tâches ou d'extension de conteneur.

Récupération de l'accès aux composants 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 de Qt Widgets Designer et ne sont pas destinées à être instanciées directement.

Qt Widgets Designer est composé de plusieurs éléments. Il dispose d'un éditeur d'actions, d'un éditeur de propriétés, d'une boîte à outils et d'un inspecteur d'objets que vous pouvez visualiser dans son espace de travail.

Capture d'écran montrant l'interface utilisateur de l'éditeur <span translate=Qt Widgets Designer" src="images/qtdesignerscreenshot.png" title="Capture d'écran montrant l'interface utilisateur de l'éditeur Qt Widgets Designer"/>

Qt Widgets Designer Qt Widgets Designer possède également un objet qui travaille derrière la scène ; il contient la logique qui intègre tous les composants de dans une application cohérente. Vous pouvez accéder à cet objet, en utilisant QDesignerFormEditorInterface, pour récupérer les interfaces des composants de Qt Widgets Designer:

En outre, 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 Qt Widgets Designer. Le gestionnaire d'extensions contrôle la construction d'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 Qt Widgets Designer.

Une fois que vous avez une interface avec le gestionnaire de fenêtres de formulaire de Qt Widgets Designer(QDesignerFormWindowManagerInterface), vous avez également accès à toutes les fenêtres de formulaire apparaissant actuellement dans l'espace de travail de Qt Widgets Designer: La classe QDesignerFormWindowInterface vous permet d'interroger et de manipuler les fenêtres de formulaire et fournit une interface avec les curseurs des fenêtres de formulaire. QDesignerFormWindowCursorInterface est une classe de commodité qui vous permet d'interroger et de modifier la sélection des widgets d'une fenêtre de formulaire donnée et, en outre, de modifier les propriétés de tous les widgets du formulaire.

Création d'interfaces utilisateur au moment de l'exécution

Le module QtDesigner contient la classe QFormBuilder qui fournit un mécanisme de création dynamique d'interfaces utilisateur au moment de l'exécution, sur la base de fichiers d'interface utilisateur créés avec Qt Widgets Designer. Cette classe est généralement utilisée par les composants personnalisés et les applications qui intègrent Qt Widgets Designer. Les applications autonomes qui doivent générer dynamiquement des interfaces utilisateur au moment de l'exécution utilisent la classe QUiLoader, qui se trouve dans le module QtUiTools.

Pour un exemple complet utilisant QUiLoader, voir l'exemple Calculator Builder.

Voir également Qt Widgets Designer Manual 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.