2017-11-11 50 views
0

init方法不能用于此,因为kv文件是在构造对象之后处理的。 build()方法可以在App类中使用,但我需要在Widget(例如非应用程序)类中使用它。如何在kivy加载kv文件中的所有小部件后执行方法?

+0

不知道这是否会帮助,但应用程序类有一个'on_start()'方法在启动应用程序主循环之前运行。也许你可以用它来执行你的方法。 –

回答

1

我们拥有了clock对象,你可以在你想要的时间后一次或多次安排该法的执行,他的用法很简单

+0

你的意思是像从__init__调用“Clock.schedule_once(self.after_created,0)”的东西?是的,我可以自己想出来,但我希望有一个具体的方法可以在基类Widget类中调用,所以它可以使继承和多态性成为可能。那么,如果那是我必须做的,那么我会做。 :-) – nagylzs

+0

是的,但实际上kivy没有“加载”状态的概念,规则的初始设置与后续设置没有区别,如果某些调度使用触发器或时钟事件本身,初始化甚至可能需要几帧。 – Tshirtman

相关问题