我看到rekonq有一个名为首选项的工具栏项目,例如Chromium,你点击它会出现一个下拉菜单!
我怎样才能在我的应用上做类似的事情? 我认为它的gtk_toolbar_item在点击时放置了gtk_menu但是怎么样?
答案 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());
}