pyqtgraph: когда я нажимаю на PlotItem, как узнать, какой элемент был нажат

Я не знаю, правильный ли мой метод, но он работает.

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

person fengwt    schedule 17.10.2013    source источник


Ответы (1)


Ваше решение хорошее. Другим решением является подключение к сигналу GraphicsScene.sigMouseClicked и использование QGraphicsScene.items(), чтобы определить, находился ли PlotItem (или любой другой элемент) под щелчком мыши.

person Luke    schedule 17.10.2013