在代码的这一部分中,我尝试将按钮的命令设置为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)
当我运行该应用程序并按
Return
键时,出现此错误:TypeError: goRun() takes no arguments (1 given)
但是当我按下按钮时,它会运行命令并正常运行。
我究竟做错了什么?
最佳答案
假设您使用的GUI库是tkinter
,这是因为当按键激活回调时,会传递一个名为event
的参数。尝试修改函数定义,如下所示:
def goRun(event=None):
因此,当函数收到一个不知道如何执行操作的参数时,您会收到错误消息。对于
event=None
,我们说的是:“不必担心出现这种论点时,就什么都没有了。”使用
Return
键会收到此错误,因为它提供了此参数,但由于它不发送参数,因此可以与Button
一起使用。