一旦开启这个self.graphics_view.enableMouse(),就一直报 File "/home/rvbust/.local/lib/python3.10/site-packages/pyqtgraph/widgets/GraphicsView.py", line 360, in mouseMoveEvent self.sigSceneMouseMoved.emit(self.mapToScene(lpos)) TypeError: arguments did not match any overloaded call: mapToScene(self, point: QPoint): argument 1 has unexpected type 'QPointF' mapToScene(self, rect: QRect): argument 1 has unexpected type 'QPointF' mapToScene(self, polygon: QPolygon): argument 1 has unexpected type 'QPointF' mapToScene(self, path: QPainterPath): argument 1 has unexpected type 'QPointF' mapToScene(self, ax: int, ay: int): argument 1 has unexpected type 'QPointF' mapToScene(self, ax: int, ay: int, w: int, h: int): argument 1 has unexpected type 'QPointF'
时间: 2024-04-03 18:32:47 浏览: 122
这个错误提示是因为 `mapToScene()` 方法需要传入一个 `QPoint` 对象作为参数,但是传入的是 `QPointF` 对象。
解决这个问题的方法是将传入的参数类型转换为 `QPoint` 对象,可以使用 `QPoint()` 函数或 `QPoint.fromPoint()` 方法将 `QPointF` 转换为 `QPoint`,然后再传入 `mapToScene()` 方法中。
例如,假设你想将 `pos` 变量从 `QPointF` 转换为 `QPoint`,可以使用以下代码:
```
lpos = self.graphics_view.mapFromGlobal(QtGui.QCursor.pos())
point = QtGui.QPoint.fromPoint(lpos)
self.view.mouseMoved.emit(point)
```
在这个代码中,`lpos` 变量表示鼠标位置,使用 `mapFromGlobal()` 方法将其转换为 `graphics_view` 中的坐标,并将其转换为 `QPoint` 对象。然后,使用 `mouseMoved.emit()` 发送鼠标移动事件,将 `point` 对象作为参数传递给该事件。
相关问题
self.graphics_view = pg.GraphicsView() self.view = pg.ViewBox() self.graphics_view.setCentralItem(self.view) self.graphics_view.enableMouse() self.graphics_view.autoPixelRange=True self.graphics_view.sigMouseReleased.connect(self.imgMouseMove) self.view.setAspectLocked(True) self.view.invertX() # self.view.disableAutoRange('xy') self.image_item = pg.ImageItem(axisOrder='row-major') self.view.addItem(self.image_item) self.ui.gridLayout_DepImg.addWidget(self.graphics_view) self.img_show = None
这段代码是用 PyQtGraph 库创建一个图形界面,其中包括一个 GraphicsView 和一个 ViewBox。ViewBox 是用于显示图像的区域。GraphicsView 是将 ViewBox 添加到主窗口中。通过 sigMouseReleased 信号连接到 imgMouseMove 函数,用于响应鼠标释放事件。ImageItem 是用于显示图像的类。在这段代码中,ImageItem 被添加到 ViewBox 中。最后,img_show 变量被初始化为 None。
阅读全文