菜鸟快快飞 2015-10-20 01:32 采纳率: 100%
浏览 6108
已采纳

qt中鼠标点击view获取点并将坐标转换为scene坐标之后在坐标处绘制item,位置发生偏移

如题,我的组件是用QGraphicsItem绘制的,重载了QMouseEvent,但是点击时在view上显示的地方不对,主要代码如下:
QPoint viewPos = event->pos();//获取视口坐标
QPointF scenePos = view_1->mapToScene(viewPos);//将视口坐标转换为场景坐标
select->setRect(scenePos.x(), scenePos.y(), 50, 50);//绘制圆圈
如图,鼠标点击位置与圆圈位置的偏移(当前我点击的是6那个点):
图片说明
哪位大侠帮帮小弟一下,感激不尽!

  • 写回答

3条回答 默认 最新

  • 菜鸟快快飞 2015-10-23 13:26
    关注

    已解决,是因为多层layout布局的原因,layout布局会有个margin,默认为11px。
    希望对其他人有用。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?