我是kivy.uix.layout
的子类。目标是通过重新计算每个框架上的位置来为子窗口小部件设置动画。
这样做的正确方法是什么?
我可以通过这样做安排重新布局:
self.layout_clock = Clock.schedule_interval(self._trigger_layout, -1)
但我收到很多错误:
[CRITICAL] [Clock ] Warning, too much iteration done before the next frame. Check your code, or increase the Clock.max_iteration attribute
我想通过更改do_layout
内儿童的位置,我会通过某种事件绑定再次触发do_layout
,从而创建一个无限循环,对吗?
那我该怎么做?
答案 0 :(得分:0)
我想,我自己找到了解决方案。有点。
参考文档中的Schedule before frame一章,我认为timeout
-1
是我需要的,因为我想首先计算所有位置,然后让应用程序绘制所有小部件那里。
然而,这确实是上面提到的混乱。 我不太明白为什么这会导致所描述的回调循环。如果有人想解释: - )
无论如何,做的工作是timeout
或0
的{{1}}(帧率为60)。
1/60
现在我的所有小部件都移动了黄油,没有更多的警告。