Bonjour,
Tout d'abord bonjour à toutes & tous, je débute sur ce forum mais également avec GTK
Voici ma question et merci d'avance pour votre aide :
Je souhaite passer deux pointeurs à une fonction callback appelée par un g_signal_connect. Je n'ai pas d'erreur de compilation, mais je ne récupère pas les mêmes adresses, une fois transmises à la fonction (voir les 2x2 printf) :
(Le but est de synchroniser une glissière et une barre de progression)
Dans le header :
Dans le main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct DeuxPointeurs DeuxPointeurs; struct DeuxPointeurs { GtkWidget* pSource; GtkWidget* pCible; };
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 DeuxPointeurs stGliss1_Barre2; DeuxPointeurs* pGliss1_Barre2 = &stGliss1_Barre2; stGliss1_Barre2.pCible = gtk_progress_bar_new(); stGliss1_Barre2.pSource = gtk_hscale_new_with_range(0, 1, 0.01); printf("Adresse 1 : %d \n",pGliss1_Barre2->pSource); printf("Adresse 2 : %d \n",pGliss1_Barre2->pCible); g_signal_connect(G_OBJECT(stGliss1_Barre2.pSource), "value-changed", G_CALLBACK(fStatutGliss_1),pGliss1_Barre2); void fStatutGliss_1(DeuxPointeurs* data) { printf("Adr data : %d \n",data->pSource); printf("Adr data : %d \n",data->pCible); }
Partager