Primero que nada quiero comentarles que para poder seguir adelante con este articulo tienen que tener una muy buena base de C++. Aparte de eso les digo que este tutorial esta basado en extracciones del libro tutorial "C++ GUI Programming with Qt 3 - BRUCE PERENS’ OPEN SOURCE SERIES" mas conocimientos y experiencias personales.
PARTE 1: Mi primer aplicacion en c++ & QT
En esta seccion veremos como combinar C++ basico con la funcionalidad que brinda QT.
¿ Como comenzar ? ... Creamos una carpeta llamada por ej "hola" y adentro creamos un archivo con el nombre de "hola.cpp" (fijarse que tienen el mismo nombre, esto es importante), ahora debemos insertar dentro de "hola.cpp" el siguitente codigo.
#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QLabel *label = new QLabel("Hola clubdesarrolladores.com, bienvenido a tu primer aplicacion en QT", 0);
app.setMainWidget(label);
label->show();
return app.exec();
}
Como ejecutar la aplicacion. abrir una consola y ubicarse en la carpeta "hola" tipear "qmake -project" luego "qmake hola.pro" despues "make" y por ultimo ejecutamos la aplicacion con "./hola" ...
El resultado obtenido es el sgte.
Bien ahora vamos a explicar el codigo.
En la linea 5 creamos un objeto del tipo QApplication, el constructor requiere de argc y argv porque QT soporta muchos argumentos, luego entraremos en detalle sobre eso.
En la linea 6 creamos un widget QLabel que muestra "Hola clubdesarrolladores.com, bienvenido a tu primer aplicacion en QT", un widget en la terminologia de QT es un elemento visual para una interfaz de usuario por ejemplo, el menu, botones, scroll bars, y frames. Los widgets pueden contener otros widgets, por ejemplo una aplicacion con ventanas generalmente es un widget que contiene un "QMenuBar", QToolBar, QStatusBar y algun otro widget, de ese concepto sale el argumento "0" en el constructor de "QLabel" y hace referencia a que el widget no esta contenido en otro widget, sino que esta solo.
Linea 7: "app.setMainWidget(label);", hacer esta llamada es muy importante porque hace que se cierre la aplicacion cuando se clickea en la "X", sin esta linea el programa seguira corriendo en "background" por mas de que el usuario haya clickeado en la "X" para cerrar la aplicacion.
Linea 8: "label->show();" muestra el label, por defecto cuando se crea un widget se crea como "hidden" o sea oculto, este metodo lo que hace es mostrar ese widget.
Linea 9: "return app.exec();" en este punto la aplicacion espera ordenes de usuario, la ventana permanecera activa hasta que el usuario le "diga" que hacer, en nuestro caso clickear en la "X".
Ahora sabiendo todo esto vamos a divertirnos un rato, ¿ que es posible hacer con QT ? ... podemos seguir modificando nuestra pequeña aplicacion para que muestre en formato-basico "HTML" el texto anterior, de esta manera.
Reemplazamos la linea:
QLabel *label = new QLabel("Hola clubdesarrolladores.com, bienvenido a tu primer aplicacion en QT", 0);
Por:
QLabel *label = new QLabel("<center><font color= green><h2>Hola clubdesarrolladores.com</h2>,<br><font color= red><h3> bienvenido a tu primer aplicacion en QT</h3></center>", 0);
(para volver a correr el programa es recomendable borrar todos los archivos menos el "hola.cpp" que se encuentra en dicha carpeta del proyecto, antes de ejecutar el comando "qmake -project").
El resultado obtenido es este:
-----
Bien hasta aqui llegue por el dia de hoy. Mañana sigo con otro capitulo :D ... que disfruten
----