En esta página

Tutorial de widgets

Introducción

Los Widgets son los componentes básicos de las aplicaciones de interfaz gráfica de usuario (GUI) construidas con Qt. Cada componente GUI (por ejemplo, botones, etiquetas, editores de texto) es un widget que se coloca en algún lugar dentro de una ventana de interfaz de usuario, o se muestra como una ventana independiente. Cada tipo de widget es proporcionado por una subclase de QWidget, que a su vez es una subclase de QObject.

QWidget no es una clase abstracta. Puede utilizarse como contenedor de otros widgets, y puede subclasificarse con un esfuerzo mínimo para crear nuevos widgets personalizados. QWidget se utiliza a menudo para crear una ventana dentro de la cual se colocan otros QWidgets.

Al igual que QObjects, QWidgets puede crearse con objetos padre para indicar la propiedad, asegurando que los objetos se borran cuando ya no se utilizan. Con los widgets, estas relaciones padre-hijo tienen un significado adicional: cada widget hijo se muestra dentro del área de pantalla ocupada por su widget padre. Esto significa que cuando se elimina un widget de ventana, también se eliminan todos los widgets hijos que contiene.

Escribir una función principal

Muchos de los ejemplos de GUI proporcionados con Qt siguen el patrón de tener un archivo main.cpp, que contiene el código estándar para inicializar la aplicación, más cualquier número de otros archivos fuente/cabecera que contienen la lógica de la aplicación y los componentes personalizados de la GUI.

Una función típica de main() en main.cpp tiene este aspecto:

#include <QtWidgets>

// Include header files for application components.
// ...

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // Set up and show widgets.
    // ...

    return app.exec();
}

Primero, se construye un objeto QApplication, que puede ser configurado con argumentos pasados desde la línea de comandos. Una vez creados y mostrados los widgets, se llama a QApplication::exec() para iniciar el bucle de eventos de Qt. El control pasa a Qt hasta que esta función retorna. Finalmente, main() devuelve el valor retornado por QApplication::exec().

Ejemplos de widgets simples

Cada uno de estos ejemplos de widgets simples está escrito enteramente dentro de la función main().

Ejemplos reales de widgets

En estos ejemplos más avanzados, el código que crea los widgets y los diseños se almacena en otros archivos. Por ejemplo, la GUI de una ventana principal puede crearse en el constructor de una subclase de QMainWindow.

Construir los ejemplos

Si instaló un paquete binario para obtener Qt, o si compiló Qt usted mismo, los ejemplos descritos en este tutorial ya deberían estar construidos y listos para ejecutarse. Si desea modificarlos y recompilarlos, siga estos pasos:

  1. Desde un símbolo del sistema, entra en el directorio que contiene el ejemplo que has modificado.
  2. Escriba qmake y pulse Return. Si esto no funciona, asegúrate de que el ejecutable está en tu ruta o introduce su ubicación completa.
  3. En Linux/Unix y macOS, escriba make y pulse Return; en Windows con Visual Studio, escriba nmake y pulse Return.

Se crea un archivo ejecutable en el directorio actual. En Windows, este archivo puede estar ubicado en un subdirectorio debug o release. Puede ejecutar este ejecutable para ver cómo funciona el código de ejemplo.

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