ein Toplevel tk Fenster in Python zu zerstören
Frage
Ich habe versucht, Code zu schreiben, ein Toplevel Tk-Fenster in Python Auto-schließen würde.
ich am Ende immer es zu arbeiten, aber lief in ein kleines Problem auf dem Weg, dass ich nicht in der Lage war, um herauszufinden.
Die zweiten zwei Tasten arbeiten, aber die erste nicht und ich verstehe nicht, warum ...
Irgendwelche Ideen?
from Tkinter import *
root = Tk()
def doDestroy ():
TL.destroy()
TL = Toplevel()
TL.b = Button (TL, text="lambda destroy", command=lambda: TL.destroy)
TL.b.pack()
TL.b2 = Button (TL, text="callback destroy", command=doDestroy)
TL.b2.pack()
de = lambda: TL.destroy()
TL.b3 = Button (TL, text="lambda that works", command=de)
TL.b3.pack()
root.mainloop()
Lösung
Weil es eine Funktion gibt und nicht das Ergebnis.
Sie sollten setzen:
command=TL.destroy
oder wenn Sie verwenden Lambda:
command=lambda: TL.destroy()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow