Bonjour,
J'ai crée un bouton dans une barre d'outil affichant la lettre G au liu d'un icone.
Je n'arrives pas à utiliser gtk_widget_hide dessus
J'ai utilisé la fonction dépréciée gtk_insert_stock pour afficher un autre icone car j'arrives bien à m'en servir.
J'ai essayé d'utiliser gtk_toolbar_insert sans plus de succès.
J'arrives à créer et afficher mon icone avec la lettre via
gtk_button_new_with_label puis gtk_container_add
le retour de la fonction gtk_button_new_with_label est stocké dans un GtkWidget, je comprends donc pas pourquoi gtk_widget_hide ne fonctionne pas.
Pour mon test gtk_toolbar_insert, je ne suis pas sûr que GTK_TOOL_ITEM existe, je l'ai mis suite à msg d'erreur "GTK_IS_TOOL_ITEM failes " dans la console. L'utilisation de GTK_IS_TOOL_ITEM à la place de GTK_TOOL_ITEM j'ai une erreur à la compilation.
J'ai utilisé gtk_container_add suite à info je ne sais plus où dans la doc
gtk_toolbar_insert que je n'ai pas réussi à utiliser demande un GtkToolItem, moi j'ai mis un GtkWidget, GtkToolItem étant contenun dans un widget, si j'utilise une macro de conversion ça devrait marcher non ? Si c'est le cas mon prob. vient probablement de mon utilisation de GTK_TOOL_ITEM
Merci pour votre aide
Voici mon code :
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 #include <stdlib.h> #include<gtk/gtk.h> int main (int argc, char **argv) { GtkWidget *fenetre; GtkWidget *box; GtkWidget *barre_outil; GtkWidget *bouton_g; GtkWidget *bouton_quit; gtk_init (&argc, &argv); fenetre = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (fenetre), "Test"); gtk_window_set_default_size(GTK_WINDOW(fenetre), 640, 480); g_signal_connect(G_OBJECT(fenetre),"delete-event",G_CALLBACK(gtk_main_quit),NULL); box=gtk_vbox_new(FALSE,5); gtk_container_add(GTK_CONTAINER(fenetre),box); barre_outil=gtk_toolbar_new(); gtk_box_pack_start(GTK_BOX(box),barre_outil,FALSE,FALSE,0); bouton_g=gtk_button_new_with_label("G"); // gtk_toolbar_insert(GTK_TOOLBAR(barre_outil),GTK_TOOL_ITEM(bouton_g),-1); gtk_container_add(GTK_CONTAINER(barre_outil),GTK_WIDGET(bouton_g)); /* code posant problème */ gtk_widget_hide(bouton_g); /* fin code posant problème */ bouton_quit=gtk_toolbar_insert_stock(GTK_TOOLBAR(barre_outil),GTK_STOCK_QUIT,NULL,NULL,gtk_main_quit,NULL,-1); /* code fonctionnant : gtk_widget_hide(bouton_quit); */ gtk_widget_show_all(fenetre); gtk_main(); return 0; }
Partager