mpl_connect中的lambda函数乘以输入击键?

时间:2017-01-11 23:06:00

标签: python matplotlib lambda tkinter

关注this example我尝试使用lambda函数通过位于不同帧的mpl_connect传递我的Tkinter小部件的控制器(因为控制器包含一些常规变量)。虽然我没有更改代码(除了在框架内的适当实例中调整传递的控制器之外),我的on_key_event函数现在的行为完全不同。

我在没有lambda函数的情况下调用mpl_connect的旧版本正常运行。每个键击只调用一次on_key_event实例。

self.canvas.mpl_connect('key_press_event', self.on_key_event)

我尝试使用lambda函数将控制器传递给on_key_event的新版本的行为完全不同。每个键击似乎多次调用on_key_event实例(看似一个小于10的随机数)。

self.canvas.mpl_connect('key_press_event', lambda event: self.on_key_event(event, controller))

这与lambda函数的行为是否与我期望的略有不同?语法错误?因为Tkinter中嵌入了matplotlib图而有所不同?

0 个答案:

没有答案