我试图用 Python 编写自动关闭 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
或者如果您使用了 lambda:
command=lambda: TL.destroy()
