Bonjour!
J'utilise glade pour faire des interfaces graphique; jaimerai savoir comment rendre invisible un GtkEntry lorsqu'on affiche la fenetre le contenant et comment faire pour le réafficher quand on clique sur un bouton.
D'avance merci!
Bonjour!
J'utilise glade pour faire des interfaces graphique; jaimerai savoir comment rendre invisible un GtkEntry lorsqu'on affiche la fenetre le contenant et comment faire pour le réafficher quand on clique sur un bouton.
D'avance merci!
Bonjour,
Soit tu utilise la fonction gtk_widget_hide après avoir affiché la fenêtre, soit tu utilise gtk_widget_no_show_all avant de faire appel à la fonction gtk_widget_show_all.
Pour le réafficher, il suffit d'utiliser la fonction gtk_widget_show.
bonjour!
j'ai utilisé gtk_widget_hide mais je n'arrive toujours pas.
voici mon code
quand je clique sur buttonOK la zone de texte entry1 devait disparaitre mais c'est plutot le bouton qui disparait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 g_signal_connect (gtk_builder_get_object (p_builder, "buttonOK"), "clicked", G_CALLBACK (gtk_widget_hide), (gpointer) (GtkWidget*)(gtk_builder_get_object (p_builder, "entry1")) );![]()
Oui, le callback sera appelé avec comme premier argumetn l'objet qui a reçu le signal, c'est à dire le bouton, donc gtk_widget_hide est appelé avec le bouton comme argument, donc le bouton disparaît. Essaie avec g_signal_connect_swapped
g_signal_connect_swapped marche bien
J'ai ajouter un GtkSpinButton a ma fenetre. a la compilation j'ai pas d'erreur mais quand, j'exécute le programme,j'ai ceci commme erreur
cela peut être du à quoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part (a.out:10039): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
l'erreur était due aux paramètres
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 page_increment page_size je les ai tous mis à zéro et ça passe sans problème.
Excusez moi je reviens sur le probleme ci dessous.
.
la solution est
Maintenant j'aimerai savoir comment procerder pour rendre invisible plus d'un GTKENTRY.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 g_signal_connect_swapped (gtk_builder_get_object (p_builder, "buttonOK"),"clicked", G_CALLBACK (gtk_widget_hide), (gpointer) (GtkWidget*)(gtk_builder_get_object (p_builder, "entry1")));
Monidée c'est de créer une fonction que j'appelerai dans le G_CALLBACK .Seulement je ne sais pas quoi mettre dans le dernier paramètre de g_signal_connect_swapped
Bonjour teuf13.
J'ai vu la faq mais je ne comprend pas très bien.
Voici ce que j'ai pu faire
Ce n'est pas très professionnel car pour chaque GTKENTRY je fais un crée un signal g_signal_connect_swapped
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 GtkWidget * p_win00 = (GtkWidget *) gtk_builder_get_object (p_builder, "Element40"); GtkWidget * p_win01 = (GtkWidget *) gtk_builder_get_object (p_builder, "Element41"); GtkWidget * p_win02 = (GtkWidget *) gtk_builder_get_object (p_builder, "Element42") GtkWidget * p_win03 = (GtkWidget *) gtk_builder_get_object (p_builder, "Element43"); GtkWidget * p_win04 = (GtkWidget *) gtk_builder_get_object (p_builder, "Element44"); g_signal_connect_swapped (gtk_builder_get_object (p_builder, "buttonOK"),"clicked", G_CALLBACK (gtk_widget_hide), (gpointer) p_win00); g_signal_connect_swapped (gtk_builder_get_object (p_builder, "buttonOK"),"clicked", G_CALLBACK (gtk_widget_hide), (gpointer) p_win01); g_signal_connect_swapped (gtk_builder_get_object (p_builder, "buttonOK"),"clicked", G_CALLBACK (gtk_widget_hide), (gpointer) p_win02); g_signal_connect_swapped (gtk_builder_get_object (p_builder, "buttonOK"),"clicked", G_CALLBACK (gtk_widget_hide), (gpointer) p_win03); g_signal_connect_swapped (gtk_builder_get_object (p_builder, "buttonOK"),"clicked", G_CALLBACK (gtk_widget_hide), (gpointer) p_win04);![]()
Partager