带图标的Gtk菜单

Win*_*Too 5 gtk

这是我的运行时创建菜单的关键部分:

GtkWidget *menu, *menu_item;
menu = gtk_menu_new();

menu_item = gtk_image_menu_item_new_with_label("Uredi...");

//approach1 - icon don't work
//gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU));

//approach2 - icon also don't work
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), GTK_WIDGET(gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU)));

gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item);
g_signal_connect(G_OBJECT(menu_item), "button-release-event", G_CALLBACK(menu_RELEASE), (gpointer)"");

gtk_menu_attach_to_widget(GTK_MENU(menu), button, NULL);
gtk_widget_show_all(menu);
Run Code Online (Sandbox Code Playgroud)

菜单工作正常,但这只是一个"imagemenuitem",我看到标签,但看不到图像.这可能有什么不对?

Gtk2,Ubuntu 11.10

Sea*_*ght 4

我不是 100% 确定,但我相信菜单和按钮中的图标默认不再启用。您需要打开它们才能使它们显示出来。

gconftool-2 --type bool --set /desktop/gnome/interface/menus_have_icons true
Run Code Online (Sandbox Code Playgroud)

或者使用dconf

dconf write /org/gnome/desktop/interface/menus-have-icons true
Run Code Online (Sandbox Code Playgroud)