这应该是显而易见的,但我似乎无法弄清楚。如果我构建一个 Gtk.PopoverMenu:
menu = Gio.Menu.new()
test = Gio.MenuItem.new(label='test', detailed_action='win.test')
menu.append_item(test)
popup = Gtk.PopoverMenu.new_from_model(menu)
我不知道如何将它附加到父小部件(在我的情况下是 ListBox 项)。API 文档说“Popovers 已附加到父小部件”,但似乎没有将其附加到父小部件的相关方法。尝试popup.popup()
导致警告“在不在顶级窗口内的小部件上调用 gtk_widget_realize() 不会很好地工作。小部件必须在顶级容器内才能实现它们”,以及随后的段错误。