使用 python 摧毁顶层 tk 窗口

2024-05-17 05:07:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写代码,在Python中自动关闭顶级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()

Tags: lambda代码textdebuttonroot顶级b2
1条回答
网友
1楼 · 发布于 2024-05-17 05:07:08

因为它返回的是函数而不是结果。

你应该说:

command=TL.destroy

或者如果你使用lambda:

command=lambda: TL.destroy()

相关问题 更多 >