Hola a todos.
Como siempre tengo ganas de aprender cosas nuevas. Se me ocurrio empezar un proyecto para no perder el tiempo y me dije porque no hacerlo en QT y C++. :D
Para no repetir cosas los invito a pasarse por aqui (http://underc0de.org/foro/c-c/un-poco-sobre-qt-y-c-para-que-se-animen!-)/). Donde Turka nos da un primer panorama sobre QT.
Yo voy a arrancar desarrollando (paso a paso) una pequeña aplicacion, algo parecido a un Hola Mundo pero agregandole algunas cosas.
Vamos a hacer uso de
QT Creator. Asi que lo abrimos.
(http://i.imgur.com/BRe1YlM.png)
Seleccionamos
Create Project. Y se nos abrira la siguiente ventana.
(http://i.imgur.com/Eu45luc.png)
Seleccionamos
Qt Gui Application y apretamos en
Choose...(http://i.imgur.com/BMjA23r.png)
En
Name colocamos el nombre del proyecto y presionamos en
Next >Tambien podemos elegir la ruta en donde se guardara el proyecto.
(http://i.imgur.com/GeLq59u.png)
En esta ocasion podriamos cambiar la ubicacion de los directorios Debug y Release. Pero lo vamos a dejar por defecto asi que nuevamente presionamos
Next > (http://i.imgur.com/PnhVPCe.png)
En
Base Class seleccionamos
QWidget, si desean pueden elegir los nombres de los archivo de cabecera, del widget y demas. Presionamos
Next > (http://i.imgur.com/LEpXwOX.png)
Y para terminar con la configuracion de proyecto elegimos
FinishYa hecho todo, podran ver algo parecido a esto:
(http://i.imgur.com/cPBN8Ya.png)
En donde podran apreciar que del lado izquierdo tenemos un treeview con el source de nuestro proyecto y del lado derecho el codigo.
Vamos a hacer la interface grafica, le hacemos doble click en
widget.ui o el nombre que le hayan puesto al form o ventana.
(http://i.imgur.com/DmZCPdG.png)
Bien, ya podemos agregar los componentes al widget.
Es muy parecido a usar vb (para los que lo hayan usado). De un lado tenemos los componentes y del otro los atributos del elemento seleccionado, para configurarlo a nuestro gusto.
(http://i.imgur.com/kLSbQko.png)
Agregue: 2 Label, 1 Line Edit, 2 RadoioButton y 1 PushButton. A los cuales les voy a cambiar el nombre y el texto de la siguiente manera.
(http://i.imgur.com/tRzk9Mw.png)
Los cambios puede hacerlos desde la tabla de atributos o con el boton derecho y Change Text... o Change objectName...
Ya tenemos la ventana lista ahora tenemos que hacer los eventos o lo que en este caso se denominan las
señales.
Para ello vamos a seleccionar el PushButton (es el unico en nuestra aplicacion que va a llevar una señal) click derecho y elegimos
Go to slot...Se nos abrira una ventana con todas las señales que el PushButton puede emitir.
(http://i.imgur.com/Q3dEDJn.png)
Seleccionamos clicked() y luego OK.
(http://i.imgur.com/gnLOips.png)
Solo se nos va a uno de los archivos cpp en donde agrego este codigo:
void Widget::on_btnSaludar_clicked()
{
}
Y es donde nosotros tenemos que poner el codigo que queramos que haga el PushButton.
Agregamos este code:
QString str = ""; // String para crear la cadena
if (ui->rdbHola->isChecked()) // Verificamos que el PushButton Hola este Clickeado
{
str = "Hola "; // Ponemos 'Hola ' en str en caso de exito
}
else
{
str = "Chau "; // En caso contrario str vale 'Char '
}
if (ui->txtNombre->text() == "") // Verificamos que el LineEdit sea Vacio
{
str = str + "desconocido"; // Concatenamos a str 'desconocido' en caso de acierto
}
else
{
str = str + ui->txtNombre->text(); // En caso contrario concatenamos su valor
}
ui->lblSaludo->setText(str); // Seteamos el valor de Label lblSaludo con str
Lo corremos y...
Espero que les haya servido.
Saludos
Muy bueno Expermicid, aunque obviamente antes de usar Qt se tiene que saber C++ . A ver si algún día de estos cuando termine los exámenes puedo hacer un tuto de como compilar las librerías de Qt 5.0 estáticamente , porque todavía no he podido a ver si me pongo.
¡Saludos!
Buen tuto expermicid! me re alegro que seas otro mas que se lenza a c++ con Qt, yo llevo hace rato programando ya he hecho bastantes cosas en este framework y me gusta mucho. Podriamos hacer algo entre los dos si te interesa :P
Avesudra amigo! soy x7uk hablamos por MP hace poqito por el tema de QFile que ya qedo :P que grande! tu eres un genio ;)