【Kivy】Clock を利用する

定期的に実行する

  • main.py
from kivy.app import App
from kivy.clock import Clock

class MainApp(App):
    def on_start(self):
        Clock.schedule_interval(self.on_callback, 1.)
    def on_callback(self, delta: float):
        print('on_callback')

if __name__ == '__main__':
    MainApp().run()

定期的に実行した後、停止する

  • main.py
from kivy.app import App
from kivy.clock import Clock
from kivy.clock import ClockEvent

class MainApp(App):
    def on_start(self):
        self.__count: int = 0
        self.__clock_event: ClockEvent = Clock.schedule_interval(self.on_callback, 1.)
    def on_callback(self, delta: float):
        print('on_callback : self.__count = {}'.format(self.__count))
        self.__count += 1
        if self.__count > 5:
            self.__clock_event.cancel()

if __name__ == '__main__':
    MainApp().run()

1 度だけ実行する

  • main.py
from kivy.app import App
from kivy.clock import Clock

class MainApp(App):
    def on_start(self):
        Clock.schedule_once(self.on_callback, 1.)
    def on_callback(self, delta: float):
        print('on_callback')

if __name__ == '__main__':
    MainApp().run()