2013-10-17 54 views
0

我不知道如果我的方法是正確的方法,但它的工作原理。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): 
    ... 

回答

1

您的解決方案是一個很好的一個。另一種解決方案是連接到GraphicsScene.sigMouseClicked信號並使用QGraphicsScene.items()來確定PlotItem(或任何其他項目)是否在點擊之下。

相關問題