Bonjour,

Je voulais tester les outils permettant d'inclure un menu dans une barre d'outils. Le problème c'est qu'à l'exécution quand je clique sur la flèche pour dérouler le menu, seul un tout petit carré s'affiche. J'ai repris le menu que j'avais créé pour le mettre dans une barre de menus afin de vérifier qu'il était bien créé et il s'affiche bien. Voici le code pour ma barre d'outils:

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
 
#include <stdlib.h>
#include <gtk/gtk.h>
 
static GtkWidget *pToolbar = NULL;
 
int main(int argc, char **argv)
{
GtkWidget *pWindow;
GtkWidget *pVBox;
GtkToolItem *boutonNouveau;
GtkWidget *menuBarre, *eltMenuNouveau, *eltMenuOuvrir;
 
gtk_init(&argc, &argv);
 
/* Creation de la fenetre */
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(pWindow), "GtkToolbar");
gtk_window_set_default_size(GTK_WINDOW(pWindow), 500, 100);
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit),NULL);
pVBox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(pWindow), pVBox);
 
 
/* Creation de la barre d'outils */
pToolbar = gtk_toolbar_new();
gtk_box_pack_start(GTK_BOX(pVBox), pToolbar, FALSE, FALSE, 0);
gtk_toolbar_set_style(GTK_TOOLBAR(pToolbar),GTK_TOOLBAR_BOTH);
 
/* Creation a partir de stock */
boutonNouveau = gtk_menu_tool_button_new_from_stock(GTK_STOCK_NEW);
 
/* Creation du menu à associer à la barre */
menuBarre = gtk_menu_new();
eltMenuNouveau = gtk_menu_item_new_with_label("elt nouveau");
gtk_menu_shell_append(GTK_MENU_SHELL(menuBarre),eltMenuNouveau);
eltMenuOuvrir = gtk_menu_item_new_with_label("elt ouvrir");
gtk_menu_shell_append(GTK_MENU_SHELL(menuBarre),eltMenuOuvrir);
gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(boutonNouveau),menuBarre);
 
gtk_toolbar_insert(GTK_TOOLBAR(pToolbar), boutonNouveau, -1);
 
gtk_widget_show_all(pWindow);
gtk_main();
return EXIT_SUCCESS;
}
Quelqu'un aurait-il une idée?

Merci