Creación y uso de componentes para Qt Widgets Designer
Creación de Plugins de Widgets Personalizados
Cuando implemente un plugin de widget personalizado para Qt Widgets Designer, debe subclasificar QDesignerCustomWidgetInterface para exponer su widget personalizado a Qt Widgets Designer. Un único plugin de widget personalizado se construye como una librería independiente. Si desea incluir varios plugins de widgets personalizados en la misma biblioteca, deberá además subclasificar QDesignerCustomWidgetCollectionInterface.
Para dotar a su plugin de widget personalizado del comportamiento y funcionalidad esperados dentro del espacio de trabajo de Qt Widgets Designer puede subclasificar las clases de extensión asociadas:
La clase QDesignerContainerExtension permite añadir páginas a un contenedor multipágina personalizado. La clase QDesignerTaskMenuExtension permite añadir entradas de menú personalizadas al menú de tareas de Qt Widgets Designer. La clase QDesignerMemberSheetExtension permite manipular las funciones miembro de un widget que se muestra al configurar conexiones utilizando el modo de edición de señales y ranuras de Qt Widgets Designer. Y por último, la clase QDesignerPropertySheetExtension permite manipular las propiedades de un widget que se muestra en el editor de propiedades de Qt Widgets Designer.
Qt Widgets Designer" src="images/qtdesignerextensions.png" title="Diagrama que muestra la relación entre los componentes de Qt Widgets Designer"/>
En Qt Widgets Designer las extensiones no se crean hasta que son necesarias. Por esa razón, cuando implementes extensiones, también debes subclasificar QExtensionFactory, es decir, crear una clase que sea capaz de crear instancias de tus extensiones. Además, debe hacer que el gestor de extensiones de Qt Widgets Designer registre su fábrica; el gestor de extensiones controla la construcción de extensiones a medida que se requieren, y puede acceder a él a través de QDesignerFormEditorInterface y QExtensionManager.
Para un ejemplo completo de creación de un plugin de widget personalizado con una extensión, vea los ejemplos de Extensión de Menú de Tareas o Extensión de Contenedor.
Recuperación del acceso a los componentes de Qt Widgets Designer
El propósito de las clases mencionadas en esta sección es proporcionar acceso a los componentes, gestores y espacio de trabajo de Qt Widgets Designer, y no están pensadas para ser instanciadas directamente.
Qt Widgets Designer está compuesto por varios componentes. Tiene un editor de acciones, un editor de propiedades, una caja de widgets y un inspector de objetos que puedes ver en su espacio de trabajo.
Qt Widgets Designer" src="images/qtdesignerscreenshot.png" title="Captura de pantalla de la interfaz de usuario del editor Qt Widgets Designer"/>
Qt Widgets Designer también tiene un objeto que trabaja detrás de la escena; contiene la lógica que integra todos los componentes de Qt Widgets Designer en una aplicación coherente. Puede acceder a este objeto, utilizando el QDesignerFormEditorInterface, para recuperar interfaces de los componentes de Qt Widgets Designer:
- QDesignerActionEditorInterface
- QDesignerObjectInspectorInterface
- QDesignerPropertyEditorInterface
- QDesignerWidgetBoxInterface
Además, puede utilizar QDesignerFormEditorInterface para recuperar interfaces para el gestor de extensiones de Qt Widgets Designer (QExtensionManager) y el gestor de ventanas de formulario (QDesignerFormWindowManagerInterface). El gestor de extensiones controla la construcción de extensiones a medida que son necesarias, mientras que el gestor de ventanas de formulario controla las ventanas de formulario que aparecen en el espacio de trabajo de Qt Widgets Designer.
Una vez que se dispone de una interfaz para el gestor de ventanas de formulario de Qt Widgets Designer (QDesignerFormWindowManagerInterface), también se tiene acceso a todas las ventanas de formulario que aparecen actualmente en el espacio de trabajo de Qt Widgets Designer: La clase QDesignerFormWindowInterface te permite consultar y manipular las ventanas de formulario, y proporciona una interfaz a los cursores de las ventanas de formulario. QDesignerFormWindowCursorInterface es una clase de conveniencia que te permite consultar y modificar la selección de widgets de una ventana de formulario dada, y además modificar las propiedades de todos los widgets del formulario.
Creación de interfaces de usuario en tiempo de ejecución
El módulo QtDesigner contiene la clase QFormBuilder que proporciona un mecanismo para crear dinámicamente interfaces de usuario en tiempo de ejecución, basándose en archivos UI creados con Qt Widgets Designer. Esta clase suele ser utilizada por componentes personalizados y aplicaciones que incorporan Qt Widgets Designer. Las aplicaciones independientes que necesitan generar dinámicamente interfaces de usuario en tiempo de ejecución utilizan la clase QUiLoader, que se encuentra en el módulo QtUiTools.
Para ver un ejemplo completo de uso de QUiLoader, consulte el ejemplo Calculator Builder.
Véase también Qt Widgets Designer Manual y 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.