Python,如何从同一事件调用2个函数

Python,如何从同一事件调用2个函数,python,function,class,events,tkinter,Python,Function,Class,Events,Tkinter,大家晚上好 我有一个事件Button1,绑定到一个图像以使其可点击。单击后,它将转到一个函数。但是,我需要事件同时转到两个不同的函数。该事件一次只能使用一个函数(两个函数都可以使用,但不能同时使用),因此我认为我只是格式化了错误的事件 self.img_list[2].bind('<Button-1>', removewidgetsHome) self.img_列表[2]。绑定(“”,removewidgetsHome) 我试过: self.img_list[2].bind('&

大家晚上好

我有一个事件Button1,绑定到一个图像以使其可点击。单击后,它将转到一个函数。但是,我需要事件同时转到两个不同的函数。该事件一次只能使用一个函数(两个函数都可以使用,但不能同时使用),因此我认为我只是格式化了错误的事件

self.img_list[2].bind('<Button-1>', removewidgetsHome)
self.img_列表[2]。绑定(“”,removewidgetsHome)
我试过:

self.img_list[2].bind('<Button-1>', removewidgetsHome, feedbackpage)
self.img_list[2]。绑定(“”,removewidgetsHome,反馈页)
但是没有用


对于那些感兴趣的人

您也许可以创建第三个函数来调用其他两个函数,而不是试图找出如何绑定多个函数:

def combined(*args, **kwargs):
    remove_widgets_home(*args, **kwargs)
    feedback_page(*args, **kwargs)

# ...snip...

self.img_list[2].bind('<Button-1>', combined)
def组合(*args,**kwargs):
删除小部件主页(*args,**kwargs)
反馈页面(*args,**kwargs)
#…剪断。。。
self.img_列表[2]。绑定(“”,组合)

您也许可以创建第三个函数来调用其他两个函数,而不是试图找出如何绑定多个函数:

def combined(*args, **kwargs):
    remove_widgets_home(*args, **kwargs)
    feedback_page(*args, **kwargs)

# ...snip...

self.img_list[2].bind('<Button-1>', combined)
def组合(*args,**kwargs):
删除小部件主页(*args,**kwargs)
反馈页面(*args,**kwargs)
#…剪断。。。
self.img_列表[2]。绑定(“”,组合)

或对于单行程序,您可以尝试:

self.img_list[2].bind('', lambda *args: (remove_widgets_home(*args), feedback_page(*args))

或者,对于单班轮,您可以尝试:

self.img_list[2].bind('', lambda *args: (remove_widgets_home(*args), feedback_page(*args))

我觉得这将是我的代码的最佳选择。非常感谢各位。请记住,这实际上创建了函数返回值的元组,因此这不是一个lisp风格的函数,在这里您可以得到最后一个调用的函数的“返回值”,但它应该可以工作,因为您只对函数的副作用感兴趣。我觉得这将是我的代码的最佳选择。非常感谢各位。请记住,这实际上创建了函数返回值的元组,因此这不是一个lisp风格的函数,在这里您可以得到最后一个调用的函数的“返回值”,但它应该可以工作,因为您只对函数的副作用感兴趣。