擅长:python、mysql、java
<blockquote>
<p>I'm confused because "animating" never prints out, but ani.state() says the
animation is running.</p>
</blockquote>
<p>在<code>print</code>的点上,存在并正在运行。当Python
从<code>enterEvent</code>返回,<code>ani</code>超出范围。因为没有别的了
对对象的引用,Python垃圾收集对象时假定
不需要维护未被引用的对象。因为目标是
删除后,动画永远不会执行。在</p>
<blockquote>
<p>Thats interesting, I'd love to know why the animation has to be a property
of the object.</p>
</blockquote>
<p>接受的答案将<code>ani</code>更改为<code>self.ani</code>。此更改提供了
引用范围<code>enterEvent</code>之外的对象。在更正后的代码中,
当<code>enterEvent</code>退出时,对象保持对<code>ani</code>的引用,并且
由于附加引用,不再进行垃圾回收。它存在于Qt
返回到事件循环,动画成功执行。在</p>