我的应用程序中有一个Gtk菜单,我想向其中添加一个子菜单。即,当单击主菜单项时,它应展开另一个菜单项列表(一个子菜单)。
我尝试了一些方法,但它们不起作用。文档也很少。
这是我的代码:
from gi.repository import Gtk
self.menu = Gtk.Menu()
item = Gtk.MenuItem()
item.set_label("Interfaces")
item.connect("activate", self.app.main_window.cb_show, '')
self.menu.append(item)
#Tried this way but it doesn't work.
# self.sub_menu = Gtk.Menu()
# self.menu.append(self.sub_menu)
item = Gtk.MenuItem()
item.set_label("Configuration")
item.connect("activate", self.app.config_window.cb_show, '')
self.menu.append(item)
self.menu.show_all()
我该怎么做?
更新:
我尝试使用gtk.MenuItem.set_submenu,但仍然无法正常工作。
self.menu = Gtk.Menu()
item = Gtk.MenuItem()
item.set_label("Units")
self.menu.append(item)
self.sub_menu = Gtk.Menu()
submenu_item = Gtk.MenuItem()
submenu_item.set_label("item text")
item.set_submenu(self.sub_menu)
答案 0 :(得分:1)
您需要:
ID Date1 weight
0 123 1/1/2018 -3
1 123 5/5/2017 -10
2 524 2/3/2017 0
3 524 3/3/2017 -40
4 524 4/4/2017 50
Gtk.Menu
gtk.MenuItem.set_submenu
将子菜单附加到菜单项类似的东西:
Gtk.MenuItem
答案 1 :(得分:1)
菜单只能附加到MenuItem,而MenuItem只能添加到Menu或Menubar。
您想要的层次结构是:
menubar
menuitem (sort of a menu header; it's got the label, "File" for instance)
menu (the actual file menu)
menuitem (such as "New")
menu (actually a submenu)
item ("Text" for instance)
只能使用set_submenu()附加菜单对象。
只能使用append()附加MenuItem。