Programación Gráfica en C++: Crear una Ventana con Qt Quick Window

El siguiente código es el primer ejemplo de la serie de tutoriales de Programación Gráfica en C++ con Qt Quick con QML (Qt Modeling Language), para crear una ventana básica.

En este código, se crea una ventana con un título predeterminado de «Hello World», que tiene una anchura de 640 píxeles y una altura de 480 píxeles. La ventana se configura para que sea visible (visible: true), lo que asegura que se muestre al ejecutar la aplicación. Sin embargo, se invoca un título personalizado que se declara en la función principal de C++ en lugar de configurarlo previamente en el archivo QML.

Reemplazar con los siguientes códigos, en main.cpp y main.qml:

main.qml:

import QtQuick
import QtQuick.Window

Window {
    id: mainWindow
    width: 640
    height: 480
    visible: true
    property string windowTitle: "Hello World"
    title: mainWindow.windowTitle
}

main.cpp:

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>

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

    QQmlApplicationEngine engine;
    const QUrl url(u"qrc:Main/main.qml"_qs);

    engine.load(url);

    if (engine.rootObjects().isEmpty())
        return -1;

    QObject *rootObject = engine.rootObjects().constFirst();

    // Establece el título dinámico
    QString nuevo_titulo = "Titulo de la Aplicación";
    rootObject->setProperty("windowTitle", nuevo_titulo);

    return app.exec();
}

La ventana definida en Qt Quick (Window) tiene varias propiedades que puedes usar. Algunas de las propiedades más comunes que puedes utilizar son:

  1. width: Define el ancho de la ventana en píxeles.
  2. height: Define la altura de la ventana en píxeles.
  3. visible: Esta propiedad booleana controla si la ventana es visible (true) o invisible (false) al iniciar la aplicación.
  4. windowTitle: Establece el título de la ventana. Es la propiedad que utilizamos para configurar el título de la ventana en el código de ejemplo.
  5. minimumWidth y minimumHeight: Especifican el ancho y la altura mínimos de la ventana.
  6. maximumWidth y maximumHeight: Especifican el ancho y la altura máximos de la ventana.
  7. x y y: Definen la posición de la esquina superior izquierda de la ventana en relación con la pantalla.
  8. flags: Permite establecer banderas adicionales de ventana, como maximizar, minimizar, siempre en primer plano, etc.
  9. color: Define el color de fondo de la ventana.
  10. contentItem: Permite definir un elemento de contenido personalizado para la ventana.
    rootObject->setProperty("width", 500);
    rootObject->setProperty("height", 500);
    rootObject->setProperty("visible", true);
    rootObject->setProperty("minimumWidth", 400);
    rootObject->setProperty("minimumHeight", 400);
    rootObject->setProperty("maximumWidth", 800);
    rootObject->setProperty("maximumHeight", 800);
    rootObject->setProperty("x", 100);
    rootObject->setProperty("y", 100);
    rootObject->setProperty("color", "red");

Estas son solo algunas de las propiedades que puedes configurar en una ventana de Qt Quick. Puedes explorar la documentación de Qt y de QML Window para obtener información más detallada.

2 thoughts on “Programación Gráfica en C++: Crear una Ventana con Qt Quick Window

Deja un comentario