Python 为什么我的按钮能用,但我的钥匙不能绑定?

Python 为什么我的按钮能用,但我的钥匙不能绑定?,python,Python,在代码的这一部分中,我尝试将按钮的命令设置为goRun,并将Return键绑定到goRun def goRun(): Run.runData(ENTRY=symbolEntry.get(), GREATER=greaterEntry.get(), BETWEEN=betweenEntry.get(), LESSER=lesserEntry.get()) #^ "Run" is a seperate class. button = Button(app, text="Go Dat

在代码的这一部分中,我尝试将按钮的命令设置为
goRun
,并将
Return
键绑定到
goRun

def goRun():
    Run.runData(ENTRY=symbolEntry.get(), GREATER=greaterEntry.get(), BETWEEN=betweenEntry.get(), LESSER=lesserEntry.get())
    #^ "Run" is a seperate class.

button = Button(app, text="Go Data", command=goRun, fg="blue")
button.pack(side="top", pady=2, padx=10)

app.bind('<Return>', goRun)
但当我按下按钮时,它运行命令,工作正常


我做错了什么?

假设您使用的GUI库是
tkinter
,这是因为当按键激活回调时,会传递一个名为
event
的参数。尝试修改函数定义,使其如下所示:

def goRun(event=None):
因此,当您的函数接收到一个参数时,您得到了一个错误,而它不知道该怎么做。对于
event=None
我们说的是“不要担心这个参数,当它出现时,它什么都不是。”


使用
Return
键会出现此错误,因为它给出了此参数,但它与您的
按钮一起工作,因为它不发送参数。

您使用的GUI库是什么?这几乎可以肯定是
tkinter
。实际上,
event=None
并不意味着“出现此参数时不要担心”。相反,它的意思是“我希望这里有一个论点,但如果我没有得到,就把它设为无”。这是一种方便的方法,既可以将函数用作事件的回调函数,也可以将函数用作代码中没有事件对象传入的其他位置的回调函数,例如将with用作不发送事件的
命令
属性的对象。
def goRun(event=None):