Struttura di un'applicazione GTK+

 

Abbiamo già evidenziato la differenza tra Gnome e Gtk+ per chi non l'avesse ancora chiara rimandiamo alla lettura dell'articolo che si trova nella specifica sezione.

Qui basti rilevare che Gnome comprende Gtk+ quindi un'applicazione Gnome comprenderà automaticamente le librerie Gtk+, ma non il contrario. Si possono quindi realizzare applicazioni usando il solo Gtk+ e si avranno egualmente a disposizione tutti i widget necessari per la costruzione dell'interfaccia grafica. In questo caso non avremo bisogno di includere gnome.h ma sarà sufficiente inserire nella nostra applicazione:
#include <gtk/gtk.h> .

Inizializzazione di Gtk+.

All'avvio l'applicazione deve inizializzare le librerie Gtk+.
Ciò avviene attraverso la chiamata:

gtk_init(&argc, &argv);

Questa chiamata permette la connessione ad un server X, e analizza alcuni argomenti da riga di comando.
gtk_init() inoltre registra una funzione di cleanup utilizzando atexit(). In pratica questo diventa importante unicamente quando si utilizza una fork(): il processo figlio deve uscire utilizzando una chiamata a_exit() anzichè exit() per evitare di chiudere Gtk+ nel processo padre.

Una volta inizializzato Gtk avrete a disposizione una serie di oggetti chiamati widget. Tutti i widget sono delle sottoclassi della classe base GtkWidget, in modo che potete usare un "GtkWidget *" per riferirvi ad essi.

Ciascun widget fornisce una funzione nomedelwidget_new() che alloca un nuovo oggetto lo inizializza e restituisce un puntatore al medesimo.
Una volta ottenuto un GtkWidget rappresentante un oggetto è possibile manipolarlo usando i suoi metodi che saranno illustrati nelle successive sezioni del tutorial.

 

Torna all'indice