我试图编写能够在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()
Run Code Online (Sandbox Code Playgroud)
因为它返回一个函数而不是它的结果.
你应该把:
command=TL.destroy
Run Code Online (Sandbox Code Playgroud)
或者如果你使用lambda:
command=lambda: TL.destroy()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10001 次 |
最近记录: |