Initiation à l'environnement Linux

Atelier Informatique de l'Association Escale - 31 140 Pechbonnieu

Fenêtre avec un bouton Quitter

Description : ce programme contient une fiche avec un bouton. Quand on clique sur le bouton, on quitte l'application. Le signal correspondant à un clic de bouton est « clicked ».

Aperçu :

Commande de compilation : si on a appelé le fichier 'programme.c', on compile le tout en tapant la commande :

gcc programme.c -o programme `pkg-config --cflags --libs gtk+-2.0`

(le signe " ` " s'obtient avec la combinaison des touches AltGr+7).

On exécute avec ./programme.c


Code source :

#include <gtk/gtk.h>

int main( int   argc, char *argv[] )
{
        /* On cree deux objets du type GtkWidget */
        GtkWidget *fenetre;
        GtkWidget *boutonQuitter;
    
        /* Initialisation de la bibliotheque */
        gtk_init (&argc, &argv);
    
        /* On cree une fenetre et un bouton */
        fenetre = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        boutonQuitter = gtk_button_new_with_label("Quitter");

        /* On place le bouton Quitter dans la fenetre */
        gtk_container_add (GTK_CONTAINER (fenetre), boutonQuitter);

        /******* CONNEXION DES SIGNAUX *******/
        /* Termine l'application lorsque l'on ferme la fenetre */    
        g_signal_connect (G_OBJECT (fenetre), "destroy",
                        G_CALLBACK (gtk_main_quit), NULL);
        /* Connexion du signal du bouton Quitter */
        g_signal_connect (G_OBJECT (boutonQuitter), "clicked",
                        G_CALLBACK (gtk_main_quit), NULL);

        /* Affiche la fenetre */
        gtk_widget_show_all  (fenetre);

        /* Boucle principal */    
        gtk_main ();
}