我的课程来自QGraphicsItem
。它包含我在绘画中绘制的点矢量:
for(int i = 0; i < _vertexes.size(); i++)
{
...
painter->drawEllipse(_vertexes[i], POINT_RADIUS, POINT_RADIUS);
}
当我使用此代码在_vertexes
中添加点
prepareGeometryChange();
_vertexes.pop_back();
视图中点的位置正在变化,boundingRect
使用_vertexes
如何保存积分位置?如果新boundingRect
更大,我不希望在添加新点之后所有点都改变位置。 pos()
返回始终是相同的位置(0,0),但它可能位于屏幕的不同位置。
答案 0 :(得分:1)
我没有设置初始sceneRect,因此在每个增加的场景项目之后重新计算并滚动。通过ui->graphicsView->setSceneRect(x, y, width, heigh);
设置场景矩形
在添加我的项目之前解决了问题,