【问题标题】:Remove GtkMenuItem from GtkMenu in app-indicator using c使用 c 从 app-indicator 中的 GtkMenu 中删除 GtkMenuItem
【发布时间】:2012-12-22 15:09:59
【问题描述】:

我正在构建一个使用应用程序指示器的应用程序。菜单应动态更新。使用 gtk_menu_shell_append 添加项目效果很好,但是对于删除我找不到 gtk_menu_shell_* 函数。我找到了 gtk_container_remove 并使用 gtkmenuitem 调用它,它的父级会导致以下警告:

GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkWidget'
Gtk-CRITICAL **: gtk_widget_get_parent: assertion `GTK_IS_WIDGET (widget)' failed
Gtk-CRITICAL **: gtk_container_remove: assertion `GTK_IS_CONTAINER (container)' failed

我也尝试调用 gtk_widget_destory 并得到如下错误:

GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkWidget'
Gtk-CRITICAL **: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed

请注意,这两种方法实际上都是从菜单中删除菜单项。

从 GtkMenu 中删除 GtkMenuItem 而不产生这些错误/警告的正确方法是什么?

【问题讨论】:

    标签: c gtk gtk3


    【解决方案1】:

    显然小部件以某种方式出错(不明白为什么这仍然有效)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 2014-09-17
      • 2013-12-26
      • 2022-01-09
      • 1970-01-01
      • 2019-12-10
      相关资源
      最近更新 更多