Introduciendonos en QT y C++

Iniciado por Expermicid, Enero 19, 2013, 03:07:53 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

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 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login. 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.



Seleccionamos Create Project. Y se nos abrira la siguiente ventana.



Seleccionamos Qt Gui Application y apretamos en Choose...



En Name colocamos el nombre del proyecto y presionamos en Next >
Tambien podemos elegir la ruta en donde se guardara el proyecto.



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 >



En Base Class seleccionamos QWidget, si desean pueden elegir los nombres de los archivo de cabecera, del widget y demas. Presionamos Next >



Y para terminar con la configuracion de proyecto elegimos Finish

Ya hecho todo, podran ver algo parecido a esto:



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.



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.



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.



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.



Seleccionamos clicked() y luego OK.



Solo se nos va a uno de los archivos cpp en donde agrego este codigo:

Código: cpp
void Widget::on_btnSaludar_clicked()
{
   
}


Y es donde nosotros tenemos que poner el codigo que queramos que haga el PushButton.
Agregamos este code:

Código: cpp
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!
Regístrate en You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

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 ;)