为什么按钮点击不做任何事情?

时间:2018-01-11 21:34:19

标签: python tkinter

from tkinter import *

def plus():
    print('Hello')

root = Tk()

Btn = Button(root, text="Show", command=plus()).pack()

root.mainloop()

2 个答案:

答案 0 :(得分:3)

不需要lambda。只需删除()中的Btn = Button(root, text="Show", command=plus()).pack()即可。这导致您在实际按下按钮之前调用该功能。

您的按钮命令应如下所示:

Btn = Button(root, text="Show", command=plus).pack()

答案 1 :(得分:2)

你可以使用lambda。代码:

from tkinter import *
def plus(): print('Hello')
root = Tk()
Btn = Button(root, text="Show", command=lambda:plus()).pack()
root.mainloop()

根据我下面的反Lambda联盟的要求,这是一个非lambda版本:

from tkinter import *
def plus(): print('Hello')
root = Tk()
Btn = Button(root, text="Show", command=plus).pack()
root.mainloop()