Python 如何在点击鼠标的位置绘制和填充PyQtGraph绘图中的矩形
我正在使用PyQt5和PyQtGraph。我简化了下面的示例代码。然后,每次在单击鼠标的位置单击鼠标时,我想在绘图视图中绘制一个小的红色矩形,从而在绘图视图中累积几个红色矩形。下面的代码有一个#???注释,我需要一些代码帮助来绘制红色矩形Python 如何在点击鼠标的位置绘制和填充PyQtGraph绘图中的矩形,python,pyqt5,rectangles,pyqtgraph,Python,Pyqt5,Rectangles,Pyqtgraph,我正在使用PyQt5和PyQtGraph。我简化了下面的示例代码。然后,每次在单击鼠标的位置单击鼠标时,我想在绘图视图中绘制一个小的红色矩形,从而在绘图视图中累积几个红色矩形。下面的代码有一个#???注释,我需要一些代码帮助来绘制红色矩形 您可以做的是创建一个空散点图项目并将其添加到self.qPlotWidget。然后在mousrClickedEvent中,您可以将鼠标位置添加到此散点图项目的点列表中,即 class MainWindow(QtWidgets.QMainWindow):
您可以做的是创建一个空散点图项目并将其添加到
self.qPlotWidget
。然后在mousrClickedEvent
中,您可以将鼠标位置添加到此散点图项目的点列表中,即
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
.... as before ....
# add empty scatter plot item with a red brush and a square as the symbol to plot widget
brush = pg.mkBrush(color=(255,0,0))
self.scatterItem = pg.ScatterPlotItem(pen=None, size=10, brush=brush, symbol='s')
self.qPlotWidget.addItem(self.scatterItem)
def mouseClickedEvent(self, event):
pos = event.scenePos()
if (self.qPlotWidget.sceneBoundingRect().contains(pos)):
mousePoint = self.qPlotWidget.plotItem.vb.mapSceneToView(pos)
# add point to scatter item
self.scatterItem.addPoints([mousePoint.x()], [mousePoint.y()])
您可以做的是创建一个空散点图项目并将其添加到
self.qPlotWidget
。然后在mousrClickedEvent
中,您可以将鼠标位置添加到此散点图项目的点列表中,即
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
.... as before ....
# add empty scatter plot item with a red brush and a square as the symbol to plot widget
brush = pg.mkBrush(color=(255,0,0))
self.scatterItem = pg.ScatterPlotItem(pen=None, size=10, brush=brush, symbol='s')
self.qPlotWidget.addItem(self.scatterItem)
def mouseClickedEvent(self, event):
pos = event.scenePos()
if (self.qPlotWidget.sceneBoundingRect().contains(pos)):
mousePoint = self.qPlotWidget.plotItem.vb.mapSceneToView(pos)
# add point to scatter item
self.scatterItem.addPoints([mousePoint.x()], [mousePoint.y()])