-=(the3fold)=-

New Generation

La bibliothèque GTK

GTK est une bibliothèque permettant de créer des interfaces graphiques en C. Nous allons voir pas à pas comment l'utiliser.

Il faut bien sûr, avant de commencer, vous assurer que les bibliothèque de GTK (si possible une version récente) est installée. Pour cela, utilisez la commande suivante : pkg-config --modversion gtk+-2.0 qui devrait vous renvoyer un numéro de version. Si ce n'est pas le cas, installez GTK.

Avant de commencer, quelques rappels sur les commandes qui pourront être utiles :

1 - Une simple fenêtre

Ne perdons pas de temps, et attaquons tout de suite par la création d'une simple fenêtre. GTK utilise des structures pour décrire les élements composants l'interface. En général, les élements sont déclarés de type pointeur sur une structure GTKWidget. Lorsqu'il y'a besoin d'acceder à des fonctions propres à un objet, il faut alors utiliser une fonction assurant le transtypage.

Une deuxième notion importante est la notion de signal. Un signal est émis par un Widget lorsque l'utilisateur execute une certaine action sur ce Widget (clic de souris sur un bouton par exemple). Ce signal peut alors déclencher une fonction appelée fonction callback. On relie le signal à cette fonction fgraçe à la fonction g_signal_connect

Voici donc le code commenté permettant de créer une fenêtre. Je vous conseil de télécharger l'archive de cet exemple (contient un makefile).

#include <gtk/gtk.h>

int main (int argc, char *argv[])
{
   // Initialisation de GTK
   gtk_init (&argc, &argv);

   // Création de la fenêtre principale
   GtkWidget *mainwin;
   mainwin = gtk_window_new (GTK_WINDOW_TOPLEVEL);

   // Liaison du bouton de fermeture de la fenêtre avec la fin de l'application
   g_signal_connect (GTK_OBJECT(mainwin), "destroy", G_CALLBACK (gtk_main_quit), NULL);

   // Affichage de la fenêtre principale
   gtk_widget_show_all (mainwin);

   // Boucle principale
   gtk_main ();

   return 0;
}

A suivre ...