如題,我的組件是用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。
希望對其他人有用。