在代码的这一部分中,我尝试将按钮的命令设置为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)
但是当我按下按钮时,它会运行命令并且运行正常。
我做错了什么?
答案 0 :(得分:2)
假设您使用的GUI库是tkinter
,这是因为当按键激活回调时,会传递一个名为event
的参数。尝试修改你的函数定义,如下所示:
def goRun(event=None):
所以你得到错误,因为你的函数收到了一个参数,用它不知道该怎么做。随着event=None
,我们说“当它出现时不要担心这个论点,它什么都没有。”
您使用Return
密钥会出现此错误,因为它会提供此参数,但它会与您的Button
一起使用,因为它不会发送参数。