:: Program till the end ::

Publicado: 01:35 23/12/2007 · Etiquetas: hola, mundo, qt, programa, iniciacion, estreno, kde, trolltech · Categorías: Informática : Tutoriales
Como dije hace unos días, no iba a tardar en ponerme a programar, y aquí está el primer resultado: Hola mundo con Qt para C++, librería para crear interfaces gráficas de usuario para KDE y otros entornos, incluido Windows:



Aunque no se nota claramente, lo que hay dentro de la ventana es un botón con el texto correspondiente. En realidad ya he hecho algunas pruebas un poco más complejas, pero el Hola Mundo tiene un significado especial que todo programador entenderá , y es el punto de partida más adecuado para el que se inicia en alguna tecnología o lenguaje de programación, como es mi caso con Qt. Aquí el código:

------------------------------------

/*****************
*
* Tutorial 1 de Qt
*
*****************/


#include <qapplication.h>
#include <qpushbutton.h>

int main(int argc, char **argv){
    QApplication a(argc,argv);

    QPushButton hello("Hola mundo!", 0);
    hello.resize(100,30);

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

------------------------------------

Tal vez os preguntéis dónde construyo la ventana. La ventana es el mismo botón, que se convierte en una ventana (con marco y barra de título) por el simple hecho de no haberle establecido una ventana padre.

Para poder compilarlo, debéis tener instalada la librería Qt4 (tiene alguna diferencia importante con Qt3 según he visto). En Ubuntu, en el Gestor de Paquetes Synaptic podréis ver los paquetes necesarios, entre los listados al buscar qt4. El principal es libqt4-core, pero lo ideal es instalarse Qt4 Designer (en el paquete qt4-designer), un IDE pensado para desarrollar con mayor productividad aplicaciones con Qt4, y con el cual se instalarán los necesarios para usar la librería tanto desde la línea de órdenes como desde el IDE. En cualquier otra distribución de Linux no debe ser difícil de encontrar. Desconozco cómo va el tema en Windows, pero en cualquier caso, aquí tenéis la página de descargas de la versión OpenSource de Qt.

Además de la librería en sí, se instalan unas aplicaciones necesarias, como qmake. Una vez esté todo listo, y teniendo el código en un fichero en su propio directorio (es decir, que no haya ningún otro fichero en el directorio en cuestión), hacemos desde la línea de órdenes:

$ qmake -project
$ qmake
$ make


Con la primera línea se crea un fichero de proyecto, con la segunda se genera el fichero Makefile dependiente de la plataforma basado en el fichero de proyecto, y finalmente con make se genera el fichero ejecutable con el programa de  la imagen.

El motivo de necesitar la utilidad qmake es que Qt no es simplemente una librería formada por un conjunto de funciones, macros y símbolos como cualquier otra, sino que tiene algunos añadidos al lenguaje C++ (es decir, que al trabajar con Qt se usa una versión ampliada de C++), que son interpretados y traducidos por moc (Meta-Object Compiler), un compilador especial que incluye la librería y que es llamado por qmake. Dicho de otra forma, qmake nos ahorra mucho trabajo.

Este programa de ejemplo se corresponde con el primero de una serie de tutoriales para Qt 4.3 disponibles en la página de Trolltech, la empresa desarrolladora de Qt.

5 comentarios :: Enlace permanente
Compartir Compartir
FacebookCompartir
TuentiCompartir en Tuenti
MenéameMenéame Enviar
Comentarios: (del primero al último)
03:36 23/12/2007
Esta wapo el Qt, en unas semanas puedes currarte unas interficies graficas muy buenas gracias al Designer que es intuitivo y facil de utilizar. A mi la parte que me gusta menos es la de ligar los eventos, cuando tienes 3 o 4 no pasa nada, pero cuando son 50 o mas te puedes morir xDD

Te enseño una captura del programita que tuvimos que hacer en la uni con el Designer (entonces era el qt3)

http://img133.imageshack.us/img133/8716/pantallazo1ws2.png
04:27 23/12/2007
corti: Juer qué pedazo de interfaz, tiene unas pocas cosas xDD. Lo de enganchar señales y slots cuando son montones tiene que ser un coñazo enorme, aunque me imagino que creándote tus propios widgets para abstraer se facilita algo.

Durante la carrera, si hay algo que eché de menos es que nos pusieran a hacer aplicaciones gráficas como esa. Solamente en una asignatura, y era con Java... aparte del proyecto fin de carrera, por supuesto.

Saludos!
10:49 23/12/2007
Me gustaría entender de estas cosas, pero soy una negada. Le voy a echar un vistazo.
Saludos
12:01 23/12/2007
para maxter2001: Pues esa interfaz la hicimos para una asignatura de gráficos en la carrera hace 3 años o porai era la primera vez que se hacia y era obligatoria xD  Aprendias todo el rollo de visualizacion grafica y te explicaban como debia ser una buena interfaz, además de toneladas de openGL :S

en la practica en cuestion era para cargar modelos en 3D, y se les podia dar iluminacion (en nuestro caso hasta 8 luces diferentes) la verdad es que fue un curro impresionante pero el resultado final nos gustó muchisimo :D

ya como offtopic solo te digo que cuando a mi me toco hacer una asignatura que era Proyecto de programacion (se hace en segundo) hace ya la tira, usabamos un lenguaje que se llama "eiffel" xDD ya ves la cara que nos quedó en pleno auge del java y nos hacen usar un lenguaje que desde entonces no he vuelto a oir. La verdad es que era facil de aprender y se podian hacer interficies muy chulas tb xD

La de lenguajes raros que se aprenden en la carrera!! jajaja
14:56 23/12/2007
alemanpadron: no creo que seas una negada, sino que, en todo caso, no tienes preparación suficiente. No sé qué nivel tienes en programación, pero para entender bien este ejemplo tan sencillo hay que llevar cierto rodaje (C/C++, orientación a objetos, makefiles...). En cualquier caso, todo es tener ganas, documentarse y echarle tiempo. Si me quieres preguntar algo te ayudaré ^^

corti: y que lo digas, como cuando en Programación Dirigida a Objetos me tuve que hinchar de programar en Smalltalk, que está curioso como lenguaje O-O, pero su utilidad es nula xD.

Saludos!
Participa con tu Comentario:

Este blog no permite comentarios.

:: Program till the end ::

Blog de maxter2001
I program till the end, for my purposes. What about you? [Blog de OK-River (maxter2001 en Vandal)]

Posts destacados por el autor:
· "Hola, mundo!" con Qt
· Odisea en busca de una PS3 de 60 GB, finalizada
· [Proyecto Fin de Carrera] Vídeo demostración + Capturas + Info
· Ingeniería Informática acabada
· [Proyecto Fin de Carrera] Capturas e info
· Programación: Tutorial para manejo de teclas
· The Legend Of Zelda: Twilight Princess terminado: impresiones/análisis
· Final Fantasy X - To Zanarkand (directo)
· Dichosas comparaciones atenuantes
· Juego para descargar: La Bicha 2.0
· Metal Gear Online "impresionado"
· Estreno



Vídeos:
· Música orquestada
· Variados
· Música variada
· El Informal
· Juegos
· Humoristas españoles



Blogs amigos:
alw
ArKiTo
Arxel
Boddhai
Clone
ComIkari
Cornell
De-mon
delojo
EASMO
erizoazul
Ferr
GeRoxx
Granlutz
HWY2HELL
Isnard
Jimmytrius
Kanevsky
Kiriyama
Modo_7
nach
Naruto
NeoYoshimitsu
NoPLo
Resident Hill
RojoRedRouge
Shino-Kun
Sonny Chiba
Sr.A
suzumiya haruhi
vacajinjo
xispax_
Zeroshcr
ZZGRST
_-Sheik-_


Categorías:
Chorradillas
Hablar con propiedad no cuesta un puto duro
Informática
Manga/Anime/Dorama
Música
Personal
Regalos pal hocico
Tutoriales
Varios
Videojuegos


Archivo:
Octubre 2009
Septiembre 2009
Enero 2009
Septiembre 2008
Agosto 2008
Junio 2008
Mayo 2008
Abril 2008
Marzo 2008
Febrero 2008
Enero 2008
Diciembre 2007
Noviembre 2007
Octubre 2007
Septiembre 2007
Agosto 2007
Julio 2007
Junio 2007
Mayo 2007
Abril 2007
Marzo 2007
Febrero 2007
Enero 2007
Diciembre 2006
Noviembre 2006
Octubre 2006


Vandal Online:
Portada
Blogs
Foro

Blogs en Vandal · Contacto · Denunciar Contenido