0

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

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

1 回答 1

1

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

于 2013-10-17T14:29:12.220 回答