缺少python gi.repository.gtk菜单分隔符
作者:互联网
我想显示简单的弹出菜单,右键单击,菜单工作正常,但菜单分隔符丢失,我搜索类似的例子,但他们都使用pygtk但我使用gi.repository我不知道是我的代码错了或这个问题是所有关于图书馆.
我的代码是
#!/usr/bin/python
from gi.repository import Gtk
class Win(Gtk.Window):
def __init__(self):
super(Win, self).__init__()
self.resize(400,280)
self.button = Gtk.Button()
self.add(self.button)
self.button.connect("button-press-event", self.button_press)
self.connect("destroy", Gtk.main_quit)
self.show_all()
def button_press(self,widget,event):
if event.button == 3:
self.menu = Gtk.Menu()
self.menu_copy = Gtk.MenuItem("Copy")
self.menu_paste = Gtk.MenuItem("Paste")
self.menu_select_all = Gtk.MenuItem("Select All")
self.menu.append(self.menu_copy)
self.menu.append(self.menu_paste)
# separator 1
self.menu.append(Gtk.SeparatorMenuItem())
# separator 2
self.menu.append(Gtk.MenuItem())
self.menu.append(self.menu_select_all)
self.menu.show_all()
self.menu.popup(None, None, None, None, event.button, event.get_time())
pass
def main():
app = Win()
Gtk.main()
if __name__ == "__main__":
main()
这是我的菜单Example 1的屏幕截图
解决方法:
你有什么版本的pygobject?我在6月份提交了一个补丁,并在3.3.4:https://bugzilla.gnome.org/show_bug.cgi?id=670575中修复
如果你使用Gtk.SeparatorMenuItem.new()而不是构造函数时分隔符正常工作,你知道它是上面提到的错误.
标签:python,gtk3,pygobject,pygtk 来源: https://codeday.me/bug/20190901/1784245.html