Bonjour,
Nouveau sur gtk je bloque sur un problème pour obtenir le retour d'un calendrier.
J'ai une fenêtre ou lorsque l'on clique sur un bouton l'action est d'ouvrir une nouvelle fenêtre où se trouve un calendrier.
Lorsque l'utilisateur double clique sur un jour, normalement je devrais avoir le retour mais à la place j'ai un Segmentation Fault...
Voici les extraits du code :
/* Structure contenant le calendrier */
/* Fonction qui devrait me donner le jour, le mois et l'année */
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct _CalendarData { GtkWidget *calendar; guint jour,mois,annee; } CalendarData; static CalendarData Calendar_arrive;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 static void get_date_calendar(GtkWidget *widget, CalendarData *data) { gtk_calendar_get_date (GTK_CALENDAR (data->calendar), &data->jour, &data->mois, &data->annee); }
/* Création de la fenêtre où s'affiche le calendrier */
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 static void calendrier(GtkWidget *widget, CalendarData *data) { /* Creation de la fenetre */ GtkWidget *pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(pWindow), "Calendrier"); gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200); /* Creation du calendrier*/ data->calendar=gtk_calendar_new(); /* On ajoute le label a l'interieur de la fenetre */ gtk_container_add(GTK_CONTAINER(pWindow), data->calendar); g_signal_connect (data->calendar, "day_selected_double_click", G_CALLBACK (get_date_calendar), &data); /* Affichage de la fenetre et de tout ce qu'il contient */ gtk_widget_show_all(pWindow); }
/* La façon dont j'appelle la fonction par le clique sur un bouton */
Merci à vous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part g_signal_connect(G_OBJECT(pExecuteBtn), "clicked", G_CALLBACK(calendrier), &Calendar_arrive);
Partager