ГТК меню с иконками - PullRequest
       7

ГТК меню с иконками

5 голосов
/ 24 января 2012

Это важная часть моего меню, созданного во время выполнения:

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);

Меню работает нормально, но это только один "imagemenuitem", на котором я вижу ярлык, но не вижу изображение. Что здесь может быть не так?

Gtk2, Ubuntu 11.10

Ответы [ 2 ]

4 голосов
/ 26 июля 2012

Эй, довольно старый вопрос, так что, вероятно, не очень много пользы.Но у меня была очень похожая проблема с меню, не показывающим изображения (в моем случае это было всплывающее меню, вызываемое кнопкой).

Способ, которым я решил это, вызывал

gtk_image_menu_item_set_always_show_image(menu_item,TRUE);

Это решило мою проблему, теперь мои изображения всегда показывают: D woot :) Поскольку переход в 1 (true) означает, что он всегда будет отображаться.

Ссылка: http://developer.gnome.org/gtk3/3.0/GtkImageMenuItem.html

4 голосов
/ 24 января 2012

Я не уверен на 100%, но я считаю, что значки в меню и кнопках больше не включены по умолчанию.Вам нужно включить их, чтобы они появились.

gconftool-2 --type bool --set /desktop/gnome/interface/menus_have_icons true

Или используя dconf:

dconf write /org/gnome/desktop/interface/menus-have-icons true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...