首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyqt正在删除自定义QPolygon : RuntimeError: ImagePolygon类型的包装C/C++对象已被删除

Pyqt正在删除自定义QPolygon : RuntimeError: ImagePolygon类型的包装C/C++对象已被删除
EN

Stack Overflow用户
提问于 2019-02-09 23:59:55
回答 1查看 167关注 0票数 0

我有一个加载多个图像的程序,每个图像都有一个由自定义QGraphicsPolygon项表示的多边形数组。我一次加载一个图像及其各自的多边形到两个QGraphicsScene中(每次加载新的QGraphicsScene )。我遇到的问题是,在图像之间切换了几次之后,我得到了以下错误:"RuntimeError: ImagePolygon类型的包装C/C++对象已被删除“。这个实现过去工作得很好,但后来我在程序中添加了很多东西,现在我得到了错误。

我知道我永远不会丢失对自定义QGraphicsPolygons的引用,唯一被删除的就是多边形本身。所有其他成员变量保持不变。不幸的是,我不能准确地指出QGraphicsPolygon中多边形被删除的确切代码区域,并且代码太长了,不能在这里发布。

我还尝试在每次将QGraphicsPolygon项添加到场景中时简单地为它设置一个新的QPolygon,但这给出了相同的错误。

请让我知道,如果有人知道什么可能会删除此项目。保持在我的I永远不会丢失对QGraphicsPolygonItem的引用。

如果有人知道一个好的方法来调试它,我也会很感激。我确信如果我能找到这个错误,我就能修复它。

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2019-02-10 00:45:43

经过多次测试,我想我找到了问题所在。因为在我的实现中,我每次显示新图像时都会删除QGraphicsScene,我相信这也是在删除多边形。我不知道为什么之前没有发生这种情况,但我设法修复了它,首先从场景中删除了所有项目。我必须遍历这些项,因为在场景中使用clear()方法会删除它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54607962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档