2017-11-11 49 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

相關問題