Bonjour,
J'ai fait une fenêtre avec un bouton et un label. lorsque l'on clic sur le bouton la fonction callback suivante est lancé:
lorsque je clic sur le bouton et que j'attend avant de re cliquer dessus, mon label est toujours incrémenté de 5??? alors qu'il devrait être incrémenté en fonction de l'attente. par contre si je modifie la fonction comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void fct_Analyse(GtkToggleButton *toggle_button) { //la valeur du label de la fenêtre principale devient = a Cnt_Total Refresh(); while(gtk_toggle_button_get_active(toggle_button)) { //variable global Cnt_Total++; gtk_main_iteration (); } }
La on voit la valeur incrémenter à toute vitesse. quelqu'un a une idée de ce qui peu causer le problème?
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
30 void fct_Analyse(GtkToggleButton *toggle_button) { /* Declaration du widget */ GtkWidget *test; GtkWidget* pLabel; char buffer [50]; /* Creation de la fenetre */ test = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* Connexion du signal "destroy" */ /* Creation du label */ sprintf (buffer, "%d", Cnt_Total); pLabel=gtk_label_new(buffer); /* On ajoute le label a l'interieur de la fenetre */ gtk_container_add(GTK_CONTAINER(test), pLabel); /* Affichage de la fenetre et de tout ce qu'il contient */ gtk_widget_show_all(test); Refresh(); while(gtk_toggle_button_get_active(toggle_button)) { Cnt_Total++; sprintf (buffer, "%d", Cnt_Total); gtk_label_set_label(pLabel,buffer); gtk_main_iteration (); } }
merci d'avance
Partager