Manual
logo



Programación C++ con AGU desde 0

Creación del Proyecto GTK Básico

GTK, es la librería que vamos a utilizar para desarrollar aplicaciones gráficas, con ventanicas. Según tengo entendido, Gtk fue inicialmente desarrollada para el genial programa The Gimp.
En la programación con la librería GTKmm (GTK para C++), existent varias posibilidades: una de ellas es definir las ventanas en un archivo externo, realizado con Glade, e importarlo en la ejecución de la aplicación u, otra posibilidad, no hacer uso del mismo y definir las características de nuestras ventanicas en el código fuente. Vamos a empezar con esta última opción, para ello, tenemos varias posibilidades en la creación del proyecto, lo que aprovecharé para explicar algunas cosillas:

Proyecto Gtkmm Genérico

La primera forma para realizar un proyecto GTKmm básico, es seleccionar en el asistente de proyectos la opción GTKmm genérico:

Tras completar todos los apartados del proyecto, se autogenerará un proyecto con un archivo main.cc que utiliza las librerías  gtkmm y libglademm (que permite importar archivos desarrollados con el programa glade.)

Vamos a reeditar el archivo main.cc con el siguiente código, la aplicación más simple que podemos desarrollar.

#include <gtkmm.h>

int main(int argc, char *argv[])

{  

    

    Gtk::Main programa(argc, argv);

    Gtk::Window miventanica;
    programa.run(miventanica);

  

    return 0;

}

Al ejecutarlo la salida es una ventanica (200*200) cuyo título es el nombre de la aplicación.

Explicación código

Básicamente, nuestras aplicaciones ejecutan otra aplicación, un proceso Gtk, el cual correrá con la ventana que nosotros diseñamos.
#include <gtkmm.h>


La directiva include, va a incluir en nuestro archivo la definición de clases Gtk, que nos van a permitir desarrollar programas gráficos.

Gtk::Main programa(argc, argv);

Esta línea declara un objeto de nombre programa, del tipo Gtk::Main. En Programación orientada a objetos, Poo, es habitual hablar de objetos y en vez de variables.

El objeto Gtk::Main es obligatorio en todo programa Gtk, y debe ser el primero en crearse.  Es la aplicación, el proceso que se va a ejecutar.

 Gtk::Window miventanica;

Declaramos y definimos nuestra ventana GTK.

programa.run(miventanica);

Lanzamos la aplicación Gtk, con nuestra ventana.  Esto es, estará capturando eventos (pulsación de teclas, movimientos de ratón,...) y gestionándolos (en nuestro caso, no hemos añadido código alguno, solo las opciones por defecto del objeto Gtk:Window [maximizar,...,cerrar]) hasta que se cierre la ventana; momento que volverá a la función main, donde aparece el

return 0;

que indica el final con éxito de nuestra aplicación.