GTK +下拉菜单到工具栏项目

时间:2012-02-03 17:01:46

标签: c++ c menu gtk toolbar

我看到rekonq有一个名为首选项的工具栏项目,例如Chromium,你点击它会出现一个下拉菜单!

我怎样才能在我的应用上做类似的事情? 我认为它的gtk_toolbar_item在点击时放置了gtk_menu但是怎么样?

Example of Drop down menu

1 个答案:

答案 0 :(得分:2)

在C中,你可以这样做:

GtkToolItem *menubutton = gtk_menu_tool_button_new(NULL, NULL);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), menubutton, 1);
GtkWidget *menu = gtk_menu_new();
gtk_menu_tool_button_set_menu(GTK_MENU_TOOL_BUTTON(menubutton), menu);
GtkAction *action = gtk_action_new("dropdown-menu", "Dropdown", "Click me", GTK_STOCK_PREFERENCES);
gtk_action_connect_proxy(action, GTK_WIDGET(menubutton));
g_signal_connect(action, "activate", G_CALLBACK(popup_menu), menu);

...

void
popup_menu(GtkAction *action, GtkMenu *menu)
{
    gtk_menu_popup(menu, NULL, NULL, NULL, NULL, 1, gtk_get_current_event_time());
}