QGraphicsItem.setRotation出错的原因是什么?

时间:2015-08-06 08:40:21

标签: qt pyqt qt5 qgraphicsitem

[最小化代码提供示例和问题已编辑]

我已经在这里订阅了一个简单的问题(参见标题,以及下面的更多描述),但是从几小时的bug追踪一直到通常最无害的方法,几分钟的敬畏疑惑是什么技术上可能正在发生。

上下文

不同窗口中的两个QGraphicsView + Scene对和一个简单的QGraphicsItem层次结构。

问题

应用程序在示例中给出的setRotation上冻结。

将最小文件集推送到" debug" Git repos的分支,以便您可以下载快照并体验问题。 [严重缩减工作量:-p" 173个文件已更改,356个插入(+),2763256个删除( - )"]

说明

  • 如果您在GUI.graphics.contact模块中注释掉两个setRotation行(66和95,标有"#FIXME"),您将获得一个正在运行的程序,您可以在其中输入/输出并平移没有麻烦的场景。
  • 如果您注释掉新窗口创建(GUI.main中的第17行),冻结也会消失。
  • 如果项目不在视图范围内,则不会冻结。

尝试解决

  • 将setRotation移出paint方法和parentItem设置之外,但仍然冻结,因此不会出现从paint方法调用的问题。
  • QMutexing setRotations没有改变任何东西(在绝望中你尝试有趣的东西!)

问题

当然你可能只是确切地知道我应该对我的程序做些什么,但如果没有,我想解决一个简单的问题:如果我输入了' x'浮动并尽可能具有创造性,什么可能使.setRotation(x)调用冻结程序?

谢谢你。

1 个答案:

答案 0 :(得分:0)

解决!

(由于此处没有讨论,答案来自其他地方,删除问题会更好吗?无论如何,人们可能会看到这个帖子。)

答案可以找到here