Bonjours à tous, j'ai un projet info à faire en c avec interface graphique, j'ai choisis gtk car j'ai pas mal de menus à faire, c'est un jeu de carte (le 6 qui prend),j'ai un problème, je n'arrives pas à faire en sorte que quand je clique sur un bouton, il quitte le menu en cours et en ouvre un autre sur la même fenêtre.

voici une partie du code, je voudrais que quand je clique sur le bouton 2 (ou autre), il ferme la fonction en cours et m'en ouvre une autre
PS: j'ai vraiment cherché partout, je n'ai rien trouvé.

d'avance merci et bonne soirée


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
void menu_1(GtkWidget *pWindow)
{
    GtkWidget *pTable;
    GtkWidget *Boutton[4];
 
 
     /* Creation et insertion de la table 7 lignes 4 colonnes */
    pTable=gtk_table_new(7,4,TRUE);
    gtk_container_add(GTK_CONTAINER(pWindow), GTK_WIDGET(pTable));
 
 
    /* Creation des boutons */
    Boutton[0]= gtk_button_new_with_label("Jouer contre l'ordinateur");
    Boutton[1]= gtk_button_new_with_label("Jouer contre un autre joueur");
    Boutton[2]= gtk_button_new_with_label("Lire les règles");
    Boutton[3]= gtk_button_new_with_label("Quitter");
 
 
    /* Insertion des boutons */
 
    gtk_table_attach_defaults(GTK_TABLE(pTable), Boutton[0],
        1, 3, 1, 2);
 
    gtk_table_attach_defaults(GTK_TABLE(pTable), Boutton[1],
        1, 3, 3, 4);
 
    gtk_table_attach_defaults(GTK_TABLE(pTable), Boutton[2],
        1, 3, 5, 6);
 
    gtk_table_attach(GTK_TABLE(pTable), Boutton[3],
        3, 4, 6, 7,
        GTK_EXPAND, GTK_EXPAND ,
        0, 0);
 
 
    g_signal_connect (Boutton[2], "clicked", regles, NULL);//je voudrais que quand je clique sur le bouton 2, je ferme cette fonction et que j'en appelle une autre
 
 
    g_signal_connect (Boutton[3], "clicked", gtk_main_quit, NULL);
 
 
 
 
 
 
 
}
 
 
 
int main(int argc, char **argv)
{
    GtkWidget *pWindow;
 
 
    gtk_init(&argc, &argv);
 
    pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(pWindow), 800, 600);
    gtk_window_set_title(GTK_WINDOW(pWindow), "Le 6 qui prend!");
    g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
 
 
 
    menu_1(pWindow);
 
 
    gtk_widget_show_all(pWindow);
 
    gtk_main();
 
    return EXIT_SUCCESS;
}