我知道每个项目都有自己相对于场景的坐标。我在场景中添加了一个椭圆。他们每个人都从boundingRect(): QRect(0, 0, 50, 50)
返回以下内容。我不知道如何将坐标映射到另一个QGraphicsItem
这是一条线。这条线应该连接这两个椭圆。我有正确的省略号坐标,我将它们传递给自定义QGraphicsLineItem
构造函数。但是这条线路在错误的地方。我应该如何使用mapFromItem()
或其他方法来获得结果?
我得到每个椭圆的坐标如下:
selfCoords = ellipse->mapFromScene(QPointF(0.0,0.0));
答案 0 :(得分:0)
如果我想在鼠标位置添加新的椭圆,如何将坐标映射到椭圆项目以获得正确的场景位置?例如我从contextMenuEvent
获得
QPointF coords = event->scenePos();
我想在那里创建椭圆。我有自定义QGraphicsScene MyScene
,其中我指向QGraphicsView* view
。
我使用事件表单void MyScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
QPointF coords = event->scenePos();
QPointF ellpiseCoords = view->mapToScene(coords .x(), coords .y())
我总是弄错了。