QGraphicsScene 图元移除后有概率不刷新的问题(多边形)

marslycan 2021-04-22 03:28:06
1.开始绘制多边形 左键开始 右键结束,将多边形对象压入Scene

m_GraphicsScene.addItem(polygon);

2.界面有个按钮,触发移除图元操作
	for (auto iter : m_vpGraphItems)
{
if (iter.item)
{
m_GraphicsScene.removeItem(iter.item);
iter.item = nullptr;
delete iter.item;

}
}


3.调用刷新函数

viewport()->update();

现在出现问题是,有概率界面上的多边形图元不会被刷新掉(我用滑轮缩放或者移动图像后 图元会被刷新掉),尝试了各种的刷新函数,只有viewport的刷新可能刷掉,其他刷新基本都不太行

PS:多边形图元是显示再一个图像上的,图像Layer=0,多边形Layer=2
...全文
1101 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-08
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10794527.html
ct6816678 2022-12-13
  • 举报
回复
@源代码大师 你还不如贴个百度!
marslycan 2021-04-23
  • 打赏
  • 举报
回复
嗯 这个boundingrect 我是遍历所有顶点求了一个最大最小的笨办法做的,是不是还要扩充一点?
hitzsf 2021-04-22
  • 打赏
  • 举报
回复
        m_GraphicsScene.removeItem(iter.item);
        iter.item = nullptr;
        delete iter.item;
细看,然后scene在更新时,是按照boundingrect 来更新的,确认这个范围要全包项目
marslycan 2021-04-22
  • 打赏
  • 举报
回复 1
问题大概率解决了。原帖子https://blog.csdn.net/ko1234634/article/details/115217250 同样时自定义ITEM类型,RemoveItem 主动Delete有概率崩溃,有概率有残留!! 感谢上天 奥里给 让我无意中看到这个贴子~~~~~~!!!!!!

16,816

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧