Menü in Menü

Fragen zu Tkinter.
Antworten
ueberlege
User
Beiträge: 4
Registriert: Samstag 3. Januar 2015, 20:37

Hallo,

Hab ne kurze, knackige Frage. Ich hätte gern ein Untermenü für ein Menü erstellt. Wenn ich auf einen bestimmten Menüpunkt klicke, soll also rechts ein Untermenü erscheinen, wie man das halt von herkömmlichen Programmen kennt.

Code: Alles auswählen

menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=donothing)
filemenu.add_command(label="Open", command=donothing)
filemenu.add_command(label="Save", command=donothing)
filemenu.add_command(label="Save as...", command=donothing)
filemenu.add_command(label="Close", command=donothing)

filemenu.add_separator()

filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)

Wenn ich also z.B. dann auf "open" klicke, soll dann rechts ein weiteres Menü erscheinen. Wie kriege ich das hin? Die Python-IDLE ist auch mit Tkinter erstellt worden, und da ist dies auch umgesetzt.
lg
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Dafür musst du einfach ein neues Menü erzeugen und dies mittels der add_cascade-Methode hinzugügen:

Code: Alles auswählen

sub = Menu(filenemnu)

#Menüpunkte dem Submenü hinzufügen
sub.add_command(...)
sub.add_command(...)

filemenu.add_cascade(label="Sub", menu=sub)
Das Leben ist wie ein Tennisball.
ueberlege
User
Beiträge: 4
Registriert: Samstag 3. Januar 2015, 20:37

@ EyDu

Danke :)
Antworten