Interfaces de usuario
Las principales tecnologías de interfaz de usuario del framework Qt son Qt Quick y Qt Widgets. Qt Quick interfaces son fluidas, dinámicas y son mejores en interfaces táctiles. Qt Widgets son para crear aplicaciones de escritorio complejas. Puede crear interfaces Qt Quick y Qt Widgets con el aspecto nativo de la plataforma de destino.
Crear interfaces de usuario con Qt Quick
Qt Quick sirve para crear interfaces de usuario dinámicas y fluidas. El módulo Qt Quick Controls proporciona tipos QML como botones, cuadros de diálogo y menús. Puede utilizar QML, un lenguaje declarativo, para crear la interfaz de usuario y JavaScript para implementar la lógica.
La siguiente lista contiene información general relacionada:
- Qt Quick Controls
- Introducción a las aplicaciones Qt Quick
- Primeros pasos con QML
- Glosario de términos QML
- Tipos visuales
- Posicionadores y diseños
- Manejo de la entrada del usuario
- Visualización de texto
- Animaciones
- Integración de JavaScript en QML
- Qt Quick 3D - complemento para gráficos 3D
- Qt Shader Tools - complemento para efectos de sombreado
Qt Widgets Interfaces de usuario
Qt Widgets son los elementos de interfaz de usuario típicos de los entornos de escritorio. Los widgets se integran bien en la plataforma subyacente y ofrecen un aspecto nativo en Windows, Linux y macOS. Los widgets son elementos de interfaz de usuario maduros y ricos en funciones, adecuados para interfaces de usuario mayoritariamente tradicionales. A diferencia de Qt Quicklos widgets están pensados para crear grandes aplicaciones de escritorio y son menos adecuados para crear aplicaciones táctiles con interfaces fluidas.
La siguiente lista contiene resúmenes relacionados para Qt Widgets:
- Clases de widgets
- Marco de animación
- Ventana principal de la aplicación
- Ventanas de diálogo
- Arrastrar y soltar
- Gestos en Widgets y Vista Gráfica
- Gestión del diseño
- Widgets de ventana y diálogo
- Estilos y widgets sensibles a los estilos
Comparación de tecnologías de interfaz de usuario
En la tabla siguiente se ofrece una comparación de Qt Quick y Qt Widgets, en la que se destacan sus puntos fuertes, sus limitaciones y sus casos de uso ideales:
| Características | Qt Quick y Qt Quick Controls | Qt Widgets | Explicación |
|---|---|---|---|
| Lenguajes principales | QML y JavaScript | C++ | Qt Quick es declarativo. Qt Widgets es imperativo, C++ clásico. |
| Aspecto nativo | Sí (a través de los estilos de Qt Quick Controls ). | Sí (widgets de escritorio nativos). | Ambos soportan la apariencia nativa en sus plataformas de destino. |
| Estilos personalizados | Sí(estilos personalizables, componentes QML personalizados). | Sí(hojas de estilo Qt). | Ambos frameworks permiten una amplia personalización de estilos mediante distintos mecanismos. |
| Animaciones y transiciones fluidas | Sí (animaciones aceleradas por GPU integradas). | Limitado (compatible con QPropertyAnimation, pero no diseñado para animaciones de IU fluidas). | Qt Quick está diseñado para interfaces de usuario animadas y modernas. Qt Widgets no lo está. |
| Compatibilidad táctil | Sí (diseñado para funciones táctiles y gestos). | Limitado (existen eventos táctiles, pero Qt Widgets asume la entrada de ratón y teclado). | Qt Quick Qt Widgets requiere más trabajo manual para una buena experiencia de usuario táctil. |
| Widgets estándar del sector | Sí (proporciona controles de escritorio comunes, y los componentes personalizados pueden implementar cualquier widget necesario). | Sí (amplio conjunto de widgets de escritorio maduros y listos para usar). | Qt Quick puede implementar todo tipo de controles de escritorio, pero Qt Widgets incluye un conjunto más amplio de widgets tradicionales listos para usar. |
| Programación modelo/vista | Sí (soporte flexible de modelos con vistas basadas en delegados como ListView y TableView). | Sí (amplio conjunto de vistas MVC clásicas, como QTableView, QListView y QTreeView). | Ambas tecnologías soportan una sólida programación modelo/vista. Qt Quick utiliza delegados para separar claramente los datos de la presentación, mientras que Qt Widgets proporciona un amplio conjunto de clases modelo/vista maduras y listas para usar. |
| Creación rápida de prototipos de interfaz de usuario | Sí (iteración muy rápida en QML). | Sí (rápido para interfaces de usuario tradicionales, especialmente con Qt Widgets Designer). | Qt Quick es especialmente adecuado para la creación rápida de prototipos visuales, mientras que Qt Widgets permite ensamblar rápidamente interfaces de escritorio clásicas mediante Qt Widgets Designer. |
| Gráficos acelerados por hardware | Sí (aceleración por GPU a través de Qt Quick Scene Graph). | Parcialmente (los widgets se renderizan por software; los widgets OpenGL son posibles, pero aislados). | Sólo Qt Quick proporciona aceleración GPU de escena completa integrada. Más información en Gráficos. |
| Graphical Effects | Sí (desenfoque basado en shaders, resplandor, sombra, efectos de color, etc.). | Limitado (efectos básicos mediante Qt GUI únicamente). | Qt Quick ofrece efectos visuales enriquecidos basados en GPU. Qt Widgets sólo ofrece efectos sencillos de CPU. |
| Procesamiento de texto enriquecido. | Sí (las clases de documentos de texto enriquecido de Qt pueden utilizarse en Qt Quick y Qt Quick Controls' TextArea, pero pueden requerir alguna implementación en C++). | Sí (soporte completo a través de QTextDocument, QTextEdit, y clases relacionadas). | Ambas tecnologías pueden utilizarse para construir editores de texto complejos. Qt Quick se integra con el motor de texto enriquecido de Qt a través de QTextDocument, mientras que Qt Widgets proporciona un conjunto maduro de clases listas para usar para el manejo de texto. |
Nota: Puede mostrar vistas QML en una interfaz de usuario Qt Widgets. Para obtener más información, consulte Qt Quick Widgets.
Temas relacionados
Las siguientes páginas contienen más información sobre el diseño y desarrollo de interfaces de usuario:
- Herramientas de diseño: descripción general de las herramientas de interfaz de usuario para diseñadores y desarrolladores.
- Gráficos: descripción general de los gráficos
- Programación de modelos/vistas
- Altos ppp
© 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.