문제
파이썬에서 Toplevel TK 창을 자동으로 클로즈 할 코드를 작성하려고했습니다.
나는 그것을 작동하게했지만, 내가 알아낼 수 없었던 방식으로 약간의 문제를 일으켰다.
두 번째 버튼은 작동하지만 첫 번째 버튼은 그렇지 않으며 그 이유를 이해하지 못합니다 ...
어떤 아이디어?
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()
해결책
결과가 아닌 함수를 반환하기 때문입니다.
당신은 다음을해야합니다 :
command=TL.destroy
또는 람다를 사용한 경우 :
command=lambda: TL.destroy()
제휴하지 않습니다 StackOverflow