您现在的位置是:首页 > 正文

Qt中对Scene中的图元进行放大缩小调整后部分区域还残留在Scene中的处理

2024-04-01 07:21:38阅读 3

问题

在对GraphicScene中的图元进行放大缩小操作时,由于我操作的图元是GraphicItemGroup对象,自己组建的一个图元组,所以形状是不规则的,在进行放大后再缩小时的操作,会有一些区域因没有发生场景的碰撞所以会在scene中残留没有碰撞到的区域,即缩小后有一些在缩小之前的图元信息还在场景中没有被重绘掉,

解决方案

在调用图元的重绘函数之前,即在确定了图元的大小发生改变之后,应调用函数prepareGeometryChange()函数来使GraphicScene的索引保持最新状态,这样就不会出现放大缩小之后图元的部分残留在scene中。

网站文章