En esta página

Qt Widgets

La página Qt Widgets Module proporciona un conjunto de elementos de interfaz de usuario para crear interfaces de usuario clásicas al estilo del escritorio. Para más información sobre el uso de widgets, consulte la descripción general de las interfaces de usuario.

Widgets

Los widgets son los elementos principales para crear interfaces de usuario en Qt. Los wid gets pueden mostrar datos e información de estado, recibir entradas del usuario y proporcionar un contenedor para otros widgets que deban agruparse. Un widget que no está incrustado en un widget padre se denomina ventana.

Widget padre que contiene varios widgets hijos

La clase QWidget proporciona la capacidad básica para renderizar en la pantalla y manejar los eventos de entrada del usuario. Todos los elementos de interfaz de usuario que proporciona Qt son subclases de QWidget o se utilizan en conexión con una subclase de QWidget. Para crear widgets personalizados, subclase QWidget o una subclase adecuada y reimplemente los manejadores de eventos virtuales.

Estilos

Los estilos dibujan en nombre de los widgets y encapsulan el aspecto de una interfaz gráfica de usuario. Los widgets incorporados en Qt utilizan la clase QStyle para realizar casi todos sus dibujos, lo que garantiza que su aspecto sea exactamente igual al de los widgets nativos equivalentes.

Widgets de pestañas estilo Windows

Widgets de pestañas estilo escritorio Fusion

Widgets de pestañas estilo macOS

Las hojas de estilo de Qt son un potente mecanismo que permite personalizar la apariencia de los widgets, además de lo que ya es posible mediante la subclase QStyle.

Diseños

Los diseños son una forma elegante y flexible de organizar automáticamente los widgets hijos dentro de su contenedor. Cada widget informa al diseño de sus requisitos de tamaño a través de las propiedades sizeHint y sizePolicy, y el diseño distribuye el espacio disponible en consecuencia.

Disposición para 5 niños

Disposición para 6 niños

Qt Widgets Designer es una potente herramienta para crear y organizar widgets en diseños de forma interactiva.

Clases de modelo/vista

La arquitectura modelo/vista proporciona clases que gestionan la forma en que los datos se presentan al usuario. Las aplicaciones basadas en datos que utilizan listas y tablas están estructuradas para separar los datos y la vista utilizando modelos, vistas y delegados.

Directorio de archivos en vista de árbol

Vista gráfica

La estructura de vista gráfica sirve para gestionar e interactuar con un gran número de elementos gráficos 2D personalizados, y un widget de vista para visualizar los elementos, con soporte para zoom y rotación.

Varias formas y gráficos en una cuadrícula

Uso del módulo

Utilizar la API C++ de un módulo Qt requiere enlazar con la librería del módulo, ya sea directamente o a través de otras dependencias. Varias herramientas de compilación tienen soporte dedicado para esto, incluyendo CMake y qmake.

Construcción con CMake

Utilice el comando find_package() para localizar el componente del módulo necesario en el paquete Qt6:

find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)

Para obtener más información, consulta la descripción general de la compilación con CMake.

Compilación con qmake

Para configurar el módulo para su compilación con qmake, añada el módulo como valor de la variable QT en el archivo .pro del proyecto:

QT += widgets

Artículos y guías

Ejemplos

Referencia API

Evolución de los Módulos

Cambios en Qt Widgets enumera los cambios importantes en la API del módulo y la funcionalidad que se hicieron para la serie Qt 6 de Qt.

Licencias

El módulo Qt Widgets está disponible bajo licencias comerciales de The Qt Company. Además, está disponible bajo licencias de software libre: La GNU Lesser General Public License, versión 3, o la GNU General Public License, versión 2. Vea Licencias Qt para más detalles.

© 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.