root.destroy 与 root.destroy( )
from tkinter import *root=Tk()
def a():
root.destroy()
Button(root,text="退出",command=a).pack()
mainloop()
root.destroy 与 root.destroy( ) 的区别 ?
from tkinter import *
root=Tk()
Button(root,text="退出",command=root.destroy).pack()
mainloop()
在Tkinter中,`root.destroy`和`root.destroy()`是相同的,都表示执行销毁窗口的操作。但是需要注意的是,在定义函数时,不要忘记加上括号`()`,以便正确地调用函数。而在`command`参数中,我们直接传递函数名,而不是函数的调用结果。所以`command=root.destroy`表示在点击按钮时执行`root.destroy()`这个函数。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
对于这两段代码效果是一样的,但是前者你可以在销毁窗口之前或之后执行一些其他代码的逻辑
代码编写在函数中,销毁之前或之后需要执行的代码逻辑
在后者就是单纯按下按钮执行销毁根窗口
本帖最后由 smallwh 于 2024-5-3 22:46 编辑
root.destroy 是一个销毁窗口的函数,而 root.destroy() 就是调用这个函数去销毁窗口
两者的关系类似于 print 和 print('Hello') 。
<built-in function print>
>>> print('Hello')
Hello
对于本例,两种方法效果相同。在被单击时, Button 会调用赋值给 command 的函数,相当于此时给这个函数加上括号。
而 a() 与 root.destroy() 效果相同,因为函数 a 中也会执行一次 root.destroy() 。
但是第一种写法函数 a 可以写得更复杂,实现销毁窗口前后的其他操作
页:
[1]