在Python中将参数传递给函数的主要方法是:
def function(x):
# function definition
function(y)
也就是说,当我们调用function
时,我们会在括号内传递一个值。
但是,我正在使用tkinter,因此事件canvas.bind()
方法起作用:
def event_handler(event):
# function definition
canvas.bind('event-name', event_handler)
也就是说,当canvas.bind
调用方法event_handler
时,它似乎没有像人们期望的那样将'event-name'
传递给event_handler
(即通过{{1} }})。相反,它只是在没有任何参数的情况下调用event_handler('event-name')
。
那么event_handler
如何根据其定义接收它应该接收的事件参数?
答案 0 :(得分:1)
它就像你期望的那样。在绑定中,您将提供要调用的函数的名称。触发事件时,处理事件的内部tkinter代码实际上就像调用它一样调用它:event_handler(event)
。