我在我的应用程序基于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)
你需要:
Gtk.Menu
代表子菜单Gtk.MenuItem
gtk.MenuItem.set_submenu
就像是:
item = Gtk.MenuItem("Submenu")
self.menu.append(item)
self.sub_menu = Gtk.Menu()
item.set_submenu(self.sub_menu)
A菜单只能连接到一个菜单项和菜单项只能添加到菜单或菜单栏。
你想要的层次是:
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)
A菜单对象只能使用set_submenu附()。
甲菜单项只能用附加附接()。