miércoles, 30 de mayo de 2012

Hola mundo en Qt (solo codigo)

Hola, si ya leíste la entrada creando un proyecto (Hola mundo)en Qt, esta es la continuación del mismo. Para explicar aquí, debo ir explicando el código que ha generado Qt para entenderlo y saber que hace. Primero vamos a abrir el archivo de cabecera de nuestra aplicación: mainwindow.h; generado automáticamente por Qt. Alli encontramos esto:






Alli vemos, ya documentado con breves comentarios lo que son cada línea de código. Solo debo explicar que: el macro Q_OBJECT es super importantísimo para nuestra aplicación y debe estar declarado. Y el puntero *ui se utiliza para acceder desde otros ficheros los elementos graficos o la parte grafica de nuestra clase MainWindow. Ahora, en esta clase, necesitamos declarar el widget que vamos a usar para colocar el hola mundo; que ya sabemos que es un label, representado por la clase QLabel de Qt. Asi que primero incluimos a la clase QLabel:
 #include <QLabel>


Luego en la parte privada de la clase, declaramos un puntero de tipo QLabel:


 QLabel *label;


 Quedará algo asi:
Luego nos dirigimos al árbol del proyecto y abrimos ahora el archivo mainwindow.cpp, en la carpeta Sources:


Y ahora tenemos que usar el label que declaramos en mainwindow.h. Lo hacemos en el constructor, aunque también podríamos hacerlo en una función aparte, pero no es necesario para algo como esto. Escribimos en el constructor:

this->label = new QLabel(this); //aquí creamos el label enviándole al propio MainWindow como padre. Esto es importante porque sino no se mostrara en pantalla el label
this->label->setText("Hola mundo!"); // aquí le asignamos un texto a través de esta función


Ya podemos ejecutar nuestro programa y ver el resultado (en el boton verde de "Play" que esta en la esquina inferior izquierda). Si queremos que el texto este mejor ubicado o posicionado, podemos usar la función setGeometry() del QLabel, o mejor usar un Layout que es como un “organizador” de widgets en la interfaz. Pero eso lo veremos en otra entrega.

0 comentarios:

Publicar un comentario