distruggere una finestra tk di Toplevel in pitone
Domanda
Stavo cercando di scrivere codice che chiudesse automaticamente una finestra Toplevel Tk in Python.
Ho finito per farlo funzionare, ma ho riscontrato un piccolo problema lungo il percorso che non sono riuscito a capire.
I secondi due pulsanti funzionano, ma il primo no e non capisco perché ...
Qualche idea?
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()
Soluzione
Perché restituisce una funzione e non il suo risultato.
Dovresti mettere:
command=TL.destroy
o se hai usato lambda:
command=lambda: TL.destroy()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow