c - 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);
解决方案
推荐阅读
- vlc - 我可以在 Raspberry Pi 4 上使用 python-vlc 访问 VLC 扩展吗?
- laravel - Laravel 该路由不支持 GET 方法
- javascript - 使用 NgRx 和 Kendo UI (Angular) 上传组件在 formState 中编辑时如何传递(设置)文件字符串数据?
- reactjs - 与 React Router 链接时如何传递函数?
- python - 模块导入错误,使用 Google Colab
- python - 如何修复“TypeError:'int' 对象在 rfind(os.sep.path) + 1 中不可下标:”
- angular - 如何在上一个 api 请求在 ionic 中完成后发出 api 请求
- java - Tika Parser 无法解析希腊字符
- ajax - RAILS 6 Ajax 事件和 Ajax Spinner
- javascript - 如何在useEffect中处理获取的数据