gpt4 book ai didi

c++ - 更改 boundingRect 后的 QGraphicsItem 位置

转载 作者:行者123 更新时间:2023-11-28 05:26:01 25 4
gpt4 key购买 nike

我有从 QGraphicsItem 派生的类。它包含我在油漆中绘制的点 vector :

for(int i = 0; i < _vertexes.size(); i++)
{
...
painter->drawEllipse(_vertexes[i], POINT_RADIUS, POINT_RADIUS);
}

当我使用这段代码在 _vertexes 中添加点时

 prepareGeometryChange();
_vertexes.pop_back();

View 中点的位置正在改变,boundingRect 是使用 _vertexes 计算的

如何保存积分位置?如果新的 boundingRect 更大,我不希望在添加新点后所有点都改变位置。通过 pos() 始终返回相同的位置 (0, 0) 但它可能位于屏幕的不同位置。

最佳答案

我没有设置初始 sceneRect,因此在每次增加场景项边界矩形后重新计算和滚动它。通过 ui->graphicsView->setSceneRect(x, y, width, heigh); 设置场景矩形在添加我的项目解决问题之前,

关于c++ - 更改 boundingRect 后的 QGraphicsItem 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40530148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com