2016-04-05 15 views

Antwort

3

Sie ein Menü erstellen und Nest weitere Menüs ineinander. Hier ist der Link zu den relevanten documentation

Ein kleines Beispiel für verschachtelte Menüs wie in Ihrer Frage.

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() 

Sie können dann mehr Platten zum horizontalen Menü hinzufügen, indem Sie den Vorgang für Menü Hilfe zu wiederholen und dann können Sie entweder eine Menüoption mit weiterem Drop-Down-Menü oder eine ganze Reihe von diesen und natürlich kann man so viel kann Nest haben wie es Dir gefällt.

Sie können sogar diese Menüs innerhalb Ihres menubutton setzen, oder man konnte Nest weiter menubutton ist, und legen Sie sie überall in Ihrem Layout:

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() 
+0

Vielen Dank für die Antwort, aber das ist nicht ganz das, was ich fragte Ich versuche, ein Menü in einem Menübutton zu verschachteln, nicht ein Menü innerhalb eines Menüs. – Jose

+0

Ich sollte wahrscheinlich ein Beispiel für Code geben, werde ich in der Lage sein, dies zu tun, wenn ich heute Vorträge abschließe, also etwa 4 Stunden von jetzt an. – Jose

Verwandte Themen