pyqtgraph:当我点击PlotItem时,我怎么知道哪个项目被点击了

时间:2013-10-17 13:35:36

标签: pyqtgraph

我不知道我的方法是否是正确的方法,但它有效。

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):
    ...

1 个答案:

答案 0 :(得分:1)

您的解决方案很好。另一个解决方案是连接到QGraphicsScene.sig MouseClicked信号并使用QGraphicsScene.items()来确定PlotItem(或任何其他项目)是否在点击下。