问题描述
- 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那个点):
哪位大侠帮帮小弟一下,感激不尽!
解决方案
已解决,是因为多层layout布局的原因,layout布局会有个margin,默认为11px。
希望对其他人有用。
解决方案二:
是我的问题太抽象了么?怎么没人回答啊,新手求救~~~
解决方案三:
是我的问题太抽象了么?怎么没人回答啊,新手求救~~~
时间: 2024-12-04 01:08:23