-1
我想创建一个带有菜单的menubutton,并且无法在tkinter的文档中找到任何东西,我错过了它,还是不可能?这里是什么,我试图做一个例子:在menubutton中添加菜单? Python
我想创建一个带有菜单的menubutton,并且无法在tkinter的文档中找到任何东西,我错过了它,还是不可能?这里是什么,我试图做一个例子:在menubutton中添加菜单? Python
您可以创建一个菜单,并进一步嵌套菜单的内部彼此。这里是相关链接documentation
嵌套菜单的一个小例子,就像你的问题。
from tkinter import *
root = Tk()
menubar = Menu(root)
helpmenu = Menu(menubar)
nested_menu1 = Menu(helpmenu)
nested_menu1.add_command(label='Stuff 1')
nested_menu1.add_command(label='Stuff 2')
nested_menu2 = Menu(helpmenu)
nested_menu2.add_command(label='Stuff 3')
nested_menu2.add_command(label='Stuff 4')
menu2_nested = Menu(nested_menu2)
menu2_nested.add_command(label='Stuff 5')
nested_menu2.add_cascade(label='Nestception', menu=menu2_nested)
helpmenu.add_cascade(label='1.0 Nested', menu=nested_menu1)
helpmenu.add_cascade(label='2.0 Nested', menu=nested_menu2)
menubar.add_cascade(label="Nested Menus", menu=helpmenu)
root.config(menu=menubar)
root.mainloop()
然后,您可以通过重复helpmenu过程中添加更多的面板水平菜单,然后你可以有进一步的下拉菜单,当然你可以嵌套多达任何一个菜单选项或它们的整排和随你便。
你甚至可以把这些菜单的内线您menubutton
的,或者你可以进一步嵌套菜单按钮的,和任何地方放置在你的布局:
from tkinter import *
top = Tk()
for i in range(10):
for j in range(10):
mb= Menubutton(top, text="Menu 1")
mb.menu = Menu(mb)
mb["menu"] = mb.menu
helpmenu = Menu(mb.menu)
nested_menu1 = Menu(helpmenu)
nested_menu1.add_command(label='Stuff 1')
nested_menu1.add_command(label='Stuff 2')
nested_menu2 = Menu(helpmenu)
nested_menu2.add_command(label='Stuff 3')
nested_menu2.add_command(label='Stuff 4')
menu2_nested = Menu(nested_menu2)
menu2_nested.add_command(label='Stuff 5')
nested_menu2.add_cascade(label='Nestception', menu=menu2_nested)
helpmenu.add_cascade(label='1.0 Nested', menu=nested_menu1)
helpmenu.add_cascade(label='2.0 Nested', menu=nested_menu2)
mb.menu.add_cascade(label="Nested Menus", menu=helpmenu)
mb.grid(row=i, column=j)
top.mainloop()
感谢您的答复,但这并不完全是我是问,我试图在menubutton中嵌套菜单,而不是菜单中的菜单。 – Jose
我应该提供一个代码示例,当我今天完成讲座时,我将能够做到这一点,从现在开始大约4个小时。 – Jose