bonsoir a tous, j'ai un projet d'informatique a réaliser et j'ai choisis GTK+ afin de devellopper mon logiciel. Cependant, je n'ai eu aucun cour sur la gestion d'évennement et la précedente réponse aurait du répondre a mes questions mais voila, celle la ne semble pas fonctionner. Pourriez vous jeter un oeil a mon code pour m'aider a identifier le bug?

Pour vous aidez a corriger cela le plus rapidement possible, seules les lignes avec//**** sont a regarder en priorité

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
struct recuperationTexte //la structure qui contient la zone ou on rentre le texte
{
   GtkWidget *Wid;//****
 
 
};
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
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
void FenetreForce(GtkWidget *pWidget, GtkWidget *win)
{
 
    GtkWidget *pwin;
    GtkWidget *EntryForce;
    GtkWidget *EntryDistance;
    GtkWidget *Table;
    GtkWidget *BoxForce;
    GtkWidget *label;
    GtkWidget *BoxDistance;
    GtkWidget *BoxValiderForce;
    GtkWidget *Button;
    GtkWidget *FrameForce;
    GtkWidget *FrameDistance;
     const gchar *sText;
     recuperationTexte *Entry;//****
     Entry = g_malloc(sizeof(recuperationTexte));//****
 
    /*Creation d'une nouvelle fenêtre*/
    pwin=gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(pwin), GTK_WIN_POS_CENTER);
    gtk_window_set_default_size(GTK_WINDOW(pwin), 320, 400);
    gtk_window_set_title(GTK_WINDOW(pwin), "Force");
    /*Creation de la zone de texte*/
    Entry->Wid=gtk_entry_new();//****
    EntryDistance=gtk_entry_new();
    /*creation de la table*/
    Table=gtk_table_new(2,0,TRUE);
    //insertion de la table
    gtk_container_add(GTK_CONTAINER(pwin), GTK_WIDGET(Table));
 
    //creation Box
    BoxForce=gtk_vbox_new(FALSE,0);
    //insertion box dans table
    gtk_table_attach_defaults(GTK_TABLE(Table), BoxForce,0, 1, 0, 1);
    // creation de la decoration
    FrameForce = gtk_frame_new("Norme de la Force (en N)");
    //insertion de la decoration dans la box
    gtk_box_pack_start(GTK_BOX(BoxForce), FrameForce, TRUE, FALSE, 0);
    gtk_box_pack_start(GTK_BOX(BoxForce),Entry->Wid, TRUE, FALSE, 0);//****
 
    //creation Box
    BoxDistance=gtk_vbox_new(FALSE,0);
    //insertion box dans table
    gtk_table_attach_defaults(GTK_TABLE(Table), BoxDistance,0, 1, 1, 2);
    // creation de la decoration
    FrameDistance = gtk_frame_new("Distance (en mm)");
    //insertion de la decoration dans la box
    gtk_box_pack_start(GTK_BOX(BoxForce), FrameDistance, TRUE, FALSE, 0);
    gtk_box_pack_start(GTK_BOX(BoxDistance),EntryDistance, TRUE, FALSE, 0);
 
    //creation Box
    BoxValiderForce=gtk_vbox_new(FALSE,0);
    //insertion box dans table
    gtk_table_attach_defaults(GTK_TABLE(Table), BoxValiderForce,0, 1, 1, 2);
    //creation du bouton Valider
    Button= gtk_button_new_with_label("valider");
    //insertion du bouton dans la box
    gtk_box_pack_start(GTK_BOX(BoxDistance),Button, TRUE, FALSE, 0);
 
    g_signal_connect(G_OBJECT(Button), "clicked", G_CALLBACK(onClick),(gpointer*)Entry->Wid);//****
    //g_signal_connect(G_OBJECT(pwin), "destroy", G_CALLBACK(gtk_main_quit), NULL);
    sText = gtk_entry_get_text(GTK_ENTRY(Entry->Wid));//****
    printf(" le texte ajouter est%s",sText);//****
 
 
 
 
    gtk_widget_show_all(pwin);
 
 
 
}
 
 
void onClick(GtkWidget *pEntry, gpointer data)//****
{
 
 
    recuperationTexte* pi;//****
    pi=(recuperationTexte*) data;//****
 
 
 
 
 
}
Normalement je passe ma structure Entry dans la fonction onClick, ensuite dans onClick() je créé une nouvelle structure dans laquelle je copie data dedans, puis en sortant de la fonction, data est recopiée dans ma structure Entry, me laissant accès aux caractères tapé par l'utilisateur dans ma fonction de base. Mais il n'en est rien, tout se passe bien lors de la compilation, j'écris le texte que je souhaite rentrer et au moment de lire sText, il n'y a rien a afficher. Je ne vois donc pas du tout comment sortir les caractères tapés par l'utilisateur de la fonction onClick. Bref je suis bloqué.
Merci par avance.