Bonjour à tous, désolé, c'est encore moi...
Bon ben finalement, j'ai décidé de continuer un peu avec gtk...
La pour m'exercer, je suis en train de faire une calculatrice...
Seulement j'ai un probleme
Quand j'appui sur le bouton "+", il devrait m'afficher le message de test "Ok c bon", seulement, ça ne marche pas,et je ne comprends pas pourquoi
Voici une partie du main:
Voici ma fonction callback:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /* Connexion au signal "clicked" des boutons d'opération */ for (i = 12; i <= 17; i++) g_signal_connect(G_OBJECT(calculatrice->pButton[i]),"clicked",G_CALLBACK(operation),calculatrice->pSaisie); gtk_widget_show_all(calculatrice->pWindow);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 void operation(GtkWidget *widget, gpointer data) { //gchar sSaisie[MAX_LENGTH + 1] = ""; /* On récupere le label du bouton */ const gchar *label = gtk_button_get_label(GTK_BUTTON(widget)); switch (label[0]) { case '+': addition(data); break; case '-': soustraction(data); break; case '*': multiplication(data); break; case '/': division(data); break; case '%': modulo(data); break; case '=': resultat(data); break; } }et la c'est ma structure _MainWindow
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 void addition(gpointer data) { /* Variables */ MainWindow *calculatrice; const gchar* sSaisie; /* Récuperation de data */ calculatrice = (MainWindow*) data; /* Récupération du nombre contenu dans le GtkEntry */ sSaisie = gtk_entry_get_text(GTK_ENTRY(calculatrice->pSaisie)); /* Modification du texte contenu dans le GtkEntry */ gtk_entry_set_text(GTK_ENTRY(calculatrice->pSaisie), "Ok, c bon"); }
Donc ben si vous avez une solution, ça serait sympa..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 struct _MainWindow { GtkWidget *pWindow; GtkWidget *pTable; GtkWidget *pButton[20]; GtkWidget *pSaisie; GtkWidget *pLabel; }; typedef struct _MainWindow MainWindow;
Merci
Partager