1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| #include <gtk/gtk.h>
#include <fstream>
#include <iostream>
using namespace std;
// Déclaration des fonctions
void fonction (GtkWidget *p_widget, gpointer user_data);
// Programme principal
int main(int argc,char **argv)
{
GtkWidget* pWindow;
GtkWidget* pVBox;
GtkWidget* pHBox;
GtkWidget* pLabel;
GtkWidget* pBoutonMenu[3];
int valA=0;
int valB=1;
gtk_init(&argc,&argv);
// Création de la fenetre principale "pWindow"//
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(pWindow), "Parammètres");
gtk_window_set_default_size(GTK_WINDOW(pWindow), 640, 480);
/* fermeture de la fenetre par la croix en haut Ã* droite */
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
// Création de la boîte verticale "pVBox" principale et insertion ds la fenetre
pVBox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(pWindow), GTK_WIDGET(pVBox));
/* Creation du label */
pLabel=gtk_label_new("Passage de Parammètres!");
gtk_box_pack_start(GTK_BOX(pVBox), pLabel, TRUE, TRUE, 0);
// Création de la boîte horizontal "pHBox
pHBox = gtk_hbox_new(TRUE, 0);
gtk_box_pack_start(GTK_BOX(pVBox), pHBox, FALSE, TRUE, 0);
/*insertion des bouton*/
pBoutonMenu[0] = gtk_button_new_with_mnemonic("_Valeur 0");
gtk_box_pack_start(GTK_BOX(pHBox), pBoutonMenu[0], TRUE, FALSE, 0);
pBoutonMenu[1] = gtk_button_new_with_mnemonic("_Valeur 1");
gtk_box_pack_start(GTK_BOX(pHBox), pBoutonMenu[1], TRUE, FALSE, 0);
g_signal_connect(G_OBJECT(pBoutonMenu[0]), "clicked" , G_CALLBACK(fonction) , &valA);
g_signal_connect(G_OBJECT(pBoutonMenu[1]), "clicked" , G_CALLBACK(fonction) , &valB);
/* Affichage de la fenêtre et de tout ce qu'il contient */
gtk_widget_show_all(pWindow);
gtk_main();
return 0;
}
// Fonction
void fonction (GtkWidget *p_widget, gpointer user_data) {
cout << "Bouton:" << user_data << endl ; // le remplacement de user_data par *user_data n'est pas fonctionnel et empèche la compilation
// Parametre inutilisé
(void)p_widget;
} |
Partager