首页 > 解决方案 > GTK3 菜单为空

问题描述

单击按钮后,我试图在我的 GTK3 应用程序中显示一个弹出菜单。问题是点击后菜单是空的。

我的代码是:

GtkWidget *main_menu;
GtkWidget *main_menu_new;
GtkWidget *main_menu_save;
GtkWidget *main_menu_load;

gboolean main_menu_clicked(GtkWidget *widget, GdkEventButton *event,
    gpointer user_data)
{
  gtk_menu_popup_at_widget(GTK_MENU(main_menu), widget,
               GDK_GRAVITY_SOUTH,
               GDK_GRAVITY_SOUTH, NULL);

  return TRUE;
}

在应用程序中激活事件处理程序:

  main_menu_new = gtk_menu_item_new_with_label("New file");
 
  main_menu_save = gtk_menu_item_new_with_label("Save file");
  main_menu_load = gtk_menu_item_new_with_label("Load file");


  main_menu = gtk_menu_new();
  
  gtk_menu_attach(GTK_MENU(main_menu), main_menu_new, 0, 0, 0, 0);
  gtk_menu_attach(GTK_MENU(main_menu), main_menu_save, 0, 0, 0, 0);
  gtk_menu_attach(GTK_MENU(main_menu), main_menu_load, 0, 0, 0, 0);
  
  menu_button = gtk_button_new();
  gtk_button_set_label(GTK_BUTTON(menu_button), "Menu");

  g_signal_connect(G_OBJECT(menu_button), "clicked", G_CALLBACK(main_menu_clicked), NULL);
  


标签: cgtkgtk3

解决方案


推荐阅读