我有一个GUI,其中包含许多用于绘制数据的选项卡。
我创建了一个鼠标事件(右键单击,我用鼠标左键单击导航栏等)
这样,当我单击绘制的信号时,我得到(x,y)
这是鼠标事件
from matplotlib import pyplot as plt
import pdb
class MouseEvent:
def __init__(self,canvas):
self.canvas = canvas
self.xs = {}
self.ys = {}
self.cid = self.canvas.canvas.mpl_connect('button_press_event', self)
def __call__(self, event):
if event.button == 3: #right button
#if event.inaxes != self.canvas.axes: return
print('click', event)
print(event.xdata)
print(event.ydata)
self.canvas.canvas.mpl_disconnect(self.cid)
return event.xdata,event.ydata
我通过gui调用
mouse = MouseEvent(self.widget_LID1.figure)
这可以正常工作并满足我的要求,仅一次且仅对于我将其连接到(self.widfget_LID1.figure
)的特定画布
是否有一种方法可以在每次按特定键时激活此事件?还有我所有的画布吗?
我必须使用lambda
还是其他方法?
感谢帮助