sábado, 10 de agosto de 2013

Aprendiendo a usar GTK+ 3 con C: ¡Hola Mundo!



Definitivamente el primer programa que se hace al aprender un lenguaje de programación es el famoso “Hola mundo”. Y este caso no va a ser la excepción. El siguiente programa es una adaptación del programa “Hola mundo” de libro Foundations of GTK+ Development de Andrew Krause, (apress. Pág 16).

El programa queda así:
#include <gtk/gtk.h> int main( int argc, char *argv[] ) { /* Inicializa los widgets que se van a utilizar (inicialmente la ventana)*/ GtkWidget *ventana; /* Arranca GTK+ */ gtk_init (&argc, &argv); /* Define los tipos de widget y los configura*/ // creamos la ventana ventana = gtk_window_new(GTK_WINDOW_TOPLEVEL); // ponemos título a la ventana gtk_window_set_title(GTK_WINDOW(ventana), "Hola Mundo 1"); // mostramos la ventana gtk_widget_show (ventana); /* Arranca el programa*/ gtk_main (); /* Finaliza el programa*/ return 0; }



Lo editamos y grabamos con el nombre de "HolaMundo1". Yo lo edito utilizando el procesador de texto gedit para grabarlo en formato de texto plano. Luego, desde consola lo corremos con el comando:
gcc -o HolaMundo1 HolaMundo1.c `pkg-config --cflags --libs gtk+-3.0`

Explicación

GtkWidget *ventana
Al iniciar el programa es necesario definir los objetos (widgets) que se van a utilizar. Para eso se utiliza el comando GtkWidget que inicializa objetos genéricos que después serán definidos completamente (como ventanas, botones, etiquetas, etc.). En nuestro caso llamamos a este objeto "ventana" porque más adelante lo definiremos como "Window".

ventana = gtk_window_new(GTK_WINDOW_TOPLEVEL)
El objeto que habíamos definido de forma genérica pasa a ser una ventana GTK (GTK Window) y tiene el mayor nivel (Toplevel), es decir, todas las otras ventanas que se creen serán sub-ventanas de esta, y todos los objetos estarán contenidos en ella.

gtk_window_set_title(GTK_WINDOW(ventana), "Hola Mundo 1")
Se completan algunas propiedades de a ventana que creamos. En este caso se defina  el título (gtk_window_set_title) de la ventana que se llama "ventana" (GTK_WINDOW(ventana)), con el texto "Hola Mundo 1".

gtk_widget_show (ventana)
Dado que un objeto puede ser visible o invisible, le pedimos al programa que muestre la ventana al iniciar.

gtk_main ()
... y finalmente le decimos que inicie. Es decir, que ponga la ventana en pantalla y esta se quede esperando las acciones que vamos a realizar con los objetos que tengamos dentro de ella (en nuestro caso no tenemos más objetos). 

gcc -o HolaMundo1 HolaMundo1.c `pkg-config --cflags --libs gtk+-3.0`
Este comando permite compilar el programa que tenemos en el archivo HolaMundo1 y genera un ejecutable con el nombre HolaMundo1.c es decir, un ejecutable en C.

Todo este esfuerzo nos permite obtener lo siguiente:

...poquito, si. Pero será la base de todo lo que hagamos adelante.


No hay comentarios:

Publicar un comentario