Aprendiendo Qt4

Escribiré mis aprendizajes sobre Qt4, en realidad se nada de este, pero creo que es genial este soft GNU.

Hay muchos terminos que no manejo, así que trataré de escribir lo mas claramente posible. Advertencia,cometeré muchos errores, asi que es mejor que lean cada post en su totalidd para que no cometan los mismos errores que yo.

Inicio usando Qt4 en puro codigo, segun los manuales para aprender la verdad de Qt4, asi que incio con un archivo en blanco de texto usando kate.

#include <QApplication>

es una línea que SIEMPRE deberá ir escrita para cada archivo de Qt4. Algo asi como:

#!/bin/bash

La siguiente línea me imagino que es para indicarle que pondremos botones

#include <QPushButton>

Hay un famoso ejemplo llamado “hola mundo” del cual ya me harte y lo crearé llamandolo “Test”

Copiaré tal y cual el programa que hay en un manual:

#include <QApplication>
#include >QPushButton>

int main(int argc, char *argv[])
{
AQpplication app(argc, argv);
QPushButton hello(“¡TEST!”);
hello.resize(100, 30);

hello.show();
return app.exec();
}

Hasta este momento no se que significan muchas cosas, el manual las dice, pero con muchos tecnicismos, asi que ire explorando, lo que ahorita quiero hacer es, saber como se ejecuta y aparece la ventanita con el boton de “TEST”

Despues de haberlo escrito en kate (editor de texto, como el bloc de notas de windos) lo guardo como “test.ui” porque con esa extensión se guarda cuando usas Qt4 en el modo grafico.

ahora me voy a la consola de comandos, en donde tengo el archivo ui y ejecuto:

qmake -project

qmake

make

Vaya, creo que no me fue bien, no se porque, pero parece que no creó mi aplicacion “TEST”

/usr/bin/uic-qt4 test.ui -o ui_test.h
File ‘test.ui’ is not valid
make: *** [ui_test.h] Error 1

Ahora para probar, guardaré mi texto creado en kate como test pero sin extensión para ver que sucede.

Volvi a ejecutar:

qmake -project

qmake

make

make: No se hace nada para `first’.

Tampo termino bien, ahora me imagino que mi codigo (texto en kate) ha de tener algun error por ahi. Me doy cuenta que pierdo mucho tiempo en escribir, me gustaría que mi pensamiento se escribiera automaticamente en este blog. Ni modo tendré que seguir escribiendo, para que a algun buen linuxero se le facilite la vida.

Lo dicho, estaba mal en el codigo que copie:

escribi AQpplication app(argc, argv);

deberia ser así QApplication app(argc, argv);

Ahora borro todos los archivos que fueron creados, menos test solo para que no me vaya a crear ningun problema, porque una vez lo hice y empezó a crear archivos como loco.

Me volvio a sacar el error:

$ qmake -project
$ qmake
$ make
make: No se hace nada para `first’.

Reviso nuevamente el codigo y me doy cuenta que otra linea esta mal, como lo copie a mano, cometi varios errores.

dice #include >QPushButton>

deberia decir #include <QPushButton>

Me vuelve a sacar el mismo error

$ qmake -project
$ qmake
$ make
make: No se hace nada para `first’.

Volvía revisar, ahora no encontre ninguna falta ortografica, solo le quite las lineas en blanco que estaban al final de } para ver si es eso, ya que en algunas ocasiones algunos scripts no quieren funcionar solo por ese pequeño detalle.

Elimino los archivos que fueron creados y nuevamente ejecuto, a ver si ahora si funciona, esperemos que si.

$ qmake -project
$ qmake
$ make
make: No se hace nada para `first’.

Mismo error, ahora en lugar de escribir $ qmake -project escribiré $ qmake -project test

g++ -o ej -L/usr/lib -lQtGui -lQtCore -lpthread
/usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o: In function `_start’:
../sysdeps/i386/elf/start.S:115: referencia a `main’ sin definir
collect2: ld returned 1 exit status
make: *** [ej] Error 1

Uff no se que decir, pero esto me esta diciendo algo que de plano no se. Sigo leyendo el manual y me dice que guarde el archivo como main.cpp y que ejecute gmake -project y luego gmake y por ultimo make .

Lo hago y gmake -project y me crea un archivo llamado ej.pro me imagino que ej significa ejecutable, no lo se.

Ejecuto gmake y entonces me crea otro archivo llamado Makefile que segun el autor este comando toma el archivo ej.pro y en base a el crea Makefile de acuerdo al sistema operativo que estamos usando, por ultimo make que me crea la aplicación que tanto ansiaba junto con otro archivo llamado test.o que no se para que sirve.

La aplicacion es creada con el nombre ej

Lo hago y espero que ahora si funcione…

¡Ajua! si funciono, ahora guardo el mismo codigo pero con el nombre de test.cpp solo para ver si tiene algo que ver, lo vuelvo a compilar y me doy cuenta que no importa como guarde el codigo, solo que tengo que guardarlo con la extensión .cpp . También puedo predecir que debo copiar mi codigo en una carpeta de códigos que vaya haciendo o probando así como las aplicaciones creadas, porque parece ser que el compilador siempre creará la aplicacion con el nombre ej .

RESUMEN DE MI PRIMERA EXPERIENCIA

  1. Usar cualquier editor de textos como kate, nano, o algun bloq de notas.
  2. Revisar bien el codigo que escribo.
  3. Guardarlo con extensión cpp
  4. Mediante consola de comandos ejecutar
    • gmake -project
    • gmake
    • make
  5. Copiar mi codigo y aplicacion en carpetas creadas para ello, ya que el compilador siempre creará la aplicación con el nombre ej y si hay alguna con el mismo nombre, entonces la sobrescribira.

Escribe un comentario

Tienes que iniciar sesión para escribir un comentario.