Salut à tous,
J'ai dans un programme une liste de bouton, et pour chaque boutton, j'aimerais créer un nouvel onglet.
Pour cela, je procède comme ceci :
J'ai une fonction qui s'appelle buttonPseudo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 membre1 = gtk_button_new_with_label("nom de l'onglet"); gtk_box_pack_start(GTK_BOX(boxPseudo), membre1, FALSE, FALSE, 1); g_signal_connect(G_OBJECT(membre1), "clicked", G_CALLBACK(buttonPseudo), NULL);
Et une fonction créer onglet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void buttonPseudo(GtkWidget *button) { numOnglet++; const gchar *titreButton; onglet[numOnglet].sTitreOnglet = gtk_button_get_label (GTK_BUTTON(button)); onglet[numOnglet].titreOnglet = gtk_label_new(onglet[numOnglet].sTitreOnglet); creerOnglet(onglet[numOnglet].titreOnglet); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void creerOnglet(GtkWidget *titre_onglet) { GtkWidget *pLabel; gchar *sTabLabel; sTabLabel = g_strdup_printf("Page %d", numOnglet); pLabel = gtk_label_new(sTabLabel); gtk_notebook_append_page(GTK_NOTEBOOK(pNotebook), pLabel, titre_onglet); // Création d'un nouvel onglet avec la zone de texte dedans }
Mon pNotebook est en variable globale.
Le problème est que lorsque je fais ca :
Tout marche très bien, mais l'appuie sur les boutons ne donne rien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part creerOnglet(onglet[numOnglet].titreOnglet);
Peut être que le problème viens de mon g_signal_connect(), je ne sais pas.
A savoir : Mes boutons se trouvent dans une box différentes que mon notebook.
Merci pour votre aide.
Partager