鱼C论坛

 找回密码
 立即注册
查看: 365|回复: 3

[已解决]root.destroy 与 root.destroy( )

[复制链接]
发表于 2024-5-3 18:03:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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()
最佳答案
2024-5-3 22:45:01
本帖最后由 smallwh 于 2024-5-3 22:46 编辑

root.destroy 是一个销毁窗口的函数,而 root.destroy() 就是调用这个函数去销毁窗口
两者的关系类似于 print 和 print('Hello') 。
>>> print
<built-in function print>
>>> print('Hello')
Hello
对于本例,两种方法效果相同。在被单击时, Button 会调用赋值给 command 的函数,相当于此时给这个函数加上括号。
而 a() 与 root.destroy() 效果相同,因为函数 a 中也会执行一次 root.destroy() 。
但是第一种写法函数 a 可以写得更复杂,实现销毁窗口前后的其他操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-5-3 18:03:27 | 显示全部楼层
在Tkinter中,`root.destroy`和`root.destroy()`是相同的,都表示执行销毁窗口的操作。但是需要注意的是,在定义函数时,不要忘记加上括号`()`,以便正确地调用函数。而在`command`参数中,我们直接传递函数名,而不是函数的调用结果。所以`command=root.destroy`表示在点击按钮时执行`root.destroy()`这个函数。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-3 19:49:46 | 显示全部楼层


对于这两段代码效果是一样的,但是前者你可以在销毁窗口之前或之后执行一些其他代码的逻辑

代码编写在函数中,销毁之前或之后需要执行的代码逻辑

在后者就是单纯按下按钮执行销毁根窗口

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2024-5-3 22:45:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 smallwh 于 2024-5-3 22:46 编辑

root.destroy 是一个销毁窗口的函数,而 root.destroy() 就是调用这个函数去销毁窗口
两者的关系类似于 print 和 print('Hello') 。
>>> print
<built-in function print>
>>> print('Hello')
Hello
对于本例,两种方法效果相同。在被单击时, Button 会调用赋值给 command 的函数,相当于此时给这个函数加上括号。
而 a() 与 root.destroy() 效果相同,因为函数 a 中也会执行一次 root.destroy() 。
但是第一种写法函数 a 可以写得更复杂,实现销毁窗口前后的其他操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 04:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表