|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Button(master, text="获取信息", width=10, command=show).grid(row=3, column=0, sticky=W, padx=10, pady=5)
各位大神好,请问 这里command = show 跟command=show()),会是两种 不同的结果
本帖最后由 Twilight6 于 2020-7-6 21:54 编辑
[b]
没加括号等于是把 command 赋值了一个函数 ,此时按下按钮,就会调用这个函数
如果你提前加上括号是返回一个函数的运行结果,而如果这个返回值不是个函数就会 没反应
你可以试着运行这个代码:
- import tkinter as t
- root = t.Tk()
- def show():
- def func():
- print('调用了 func 函数')
- return func
- a = t.Button(root,text='按下我调用函数会自动加上括号哈',command=show())
- a.pack()
- t.mainloop()
复制代码
还有这个代码:
- import tkinter as t
- root = t.Tk()
- def show():
- print('我还没被点下就调用了!而且返回值还不是个函数!')
- a = t.Button(root,text='按下我调用函数会自动加上括号哈',command=show())
- a.pack()
- t.mainloop()
复制代码
第一个代码 返回值是个 函数 所以按下会调用内部函数
第二个函数 Button 组件一开始生成就被调用了,而不是按下按钮的时候
[/b]
|
|