如何为kivy布局子类设置动画?

时间:2018-04-20 11:23:08

标签: python animation layout kivy

我是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,从而创建一个无限循环,对吗?

那我该怎么做?

1 个答案:

答案 0 :(得分:0)

我想,我自己找到了解决方案。有点。

参考文档中的Schedule before frame一章,我认为timeout -1是我需要的,因为我想首先计算所有位置,然后让应用程序绘制所有小部件那里。

然而,这确实是上面提到的混乱。 我不太明白为什么这会导致所描述的回调循环。如果有人想解释: - )

无论如何,的工作是timeout0的{​​{1}}(帧率为60)。

1/60

现在我的所有小部件都移动了黄油,没有更多的警告。