J'ai oublié de préciser que je suis aussi un débutant avec gtk+ et glade. Pour ce qui est de la partie Réseau je ne pourrais pas t'aider (je sais creer des sockets en C# et en Java mais pas en C)
bon pour ton problème imaginons ce que tu peux avoir sous glade.
window1 (ta fenetre principale)
txt_nom (input pour le nom)
btn_valider (bouton valider)
btn_quitter (bouton quitter)
.... (je ne parle pas des labels)
window2 (ta fenetre secondaire)
... (les deux carrés)
le code est simple.
tu récupères l'évènement "clicked" du bouton ok et dans la fonction tu ouvres la deuxième fenetre en appelant la fonction gtk_widget_show_all()
ça euxième fenetre en appelant la fonction gtk_widget_show_all()
pourrait donner par exemple. (pour le signal)
Attention: ce code ne fonctione que si l'on utilise glade3 et que l'on utilise une variable de type gtkbuilder pour recupérer les composants à partir d'un fichier xml
en supposant que build soit de type GtkBuilder;
1 2
| gtk_builder_get_object (p_builder, "button1"), "clicked", G_CALLBACK (ouvrir_fenetre),
(gpointer) build); |
et ouvrir fenetre serait du type
1 2 3 4 5 6 7
|
static void ouvrir_fenetre(GtkWidget* btn_ok,gpointer gtkPointer)
{
GtkBuilder * build= gtkPointer;
GtkWidget * ma_fenetre= (GtkWidget *) gtk_builder_get_object (build, "window2");
gtk_widget_show_all(ma_fenetre);
} |
ou quelque chose dans le genre. (avec du code issu de glade2 il suffit simplement d'appeler gtk_widget_show_all(window2); )
Partager