【发布时间】:2020-07-13 16:08:47
【问题描述】:
是否可以将两个差异键绑定到同一个小部件并调用不同的函数。我收到dbase() missing positional argument event 的错误,即使我已将事件作为参数传入
更新:所以实际的错误是当我将“返回”绑定到一个条目小部件然后我尝试单击按钮时,我得到了错误:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\nihaa\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
TypeError: dbase() missing 1 required positional argument: 'event'
代码:
def search():
log = Toplevel(root)
log.title('Search Book')
def dbase(event):
.....
def clicker(event):
....
def key_pressed(event):
....
entry1.bind_all('<Key>',key_pressed)
button1.bind('<Button-1>',clicker)
entry1.bind('<Return>',dbase)
【问题讨论】:
-
它在我的电脑上运行良好。
-
@jizhihaoSAMA 更新了Q
-
请提供minimal reproducible example 我们可以用来重现问题。
-
@BryanOakley 再次更新
-
我看不出它怎么可能给出这个错误:dbase 清楚地接受
event作为参数,并且所有绑定函数都使用该参数调用。我认为你忽略了一些事情。您是否尝试将按钮配置为具有command=dbase?这会导致错误,但您没有在示例中显示。
标签: python tkinter key-bindings