我不知道我的方法是否是正确的方法,但它有效。
class PltItem(pg.PlotItem):
pltClicked = Signal()
def __init__(self, parent = None):
super(PltItem, self).__init__(parent)
def mousePressEvent(self, ev):
super(PltItem, self).mousePressEvent(ev)
self.pltClicked.emit()
我在主窗口中使用
for i, plt in enumerate(self.plts):
self.connect(plt, SIGNAL("pltClicked()"), partial(self.selectplot, i))
def selectplot(self, i):
...
答案 0 :(得分:1)
您的解决方案很好。另一个解决方案是连接到QGraphicsScene.sig MouseClicked信号并使用QGraphicsScene.items()来确定PlotItem(或任何其他项目)是否在点击下。