【发布时间】:2019-07-03 14:43:34
【问题描述】:
我有一个加载多个图像的程序,每个图像都有一个由自定义 QGraphicsPolygon 项表示的多边形数组。我一次将 1 张图像及其各自的多边形加载到两个 QGraphicsScene 中(每次加载时都有新的 QGraphicsScene)。我遇到的问题是在图像之间切换几次后出现以下错误: “RuntimeError:ImagePolygon 类型的包装 C/C++ 对象已被删除”。这个实现过去运行良好,但从那以后我在程序中添加了很多东西,现在我得到了错误。
我知道我永远不会丢失对自定义 QGraphicsPolygons 的引用,唯一在其中被删除的是多边形本身。所有其他成员变量保持不变。不幸的是,我无法确定 QGraphicsPolygon 内的多边形被删除的代码的确切区域,并且代码太长,无法在此处发布。
我还尝试在每次将 QGraphicsPolygon 项目添加到场景时简单地设置一个新的 QPolygon,但这给了我同样的错误。
如果有人知道什么可能会删除此项目,请告诉我。请记住我永远不会失去对 QGraphicsPolygonItem 的引用。
如果有人知道调试它的好方法,我也将不胜感激。如果我能找到它,我相信我可以修复错误。
提前谢谢你
【问题讨论】:
标签: pyqt pyqt5 qgraphicsview qgraphicsscene qgraphicsitem