1
Ich habe eine Schaltfläche. Wenn ich es drücke, möchte ich eine Aktion nach 5 Sekunden einmal und dann die zweite Aktion unendlich oft nach jeder 1 Sekunde aufrufen. Aber ich muss Aktion 2 erst nach Abschluss von Aktion 1 starten.Problem beim Steuern von 2 Zeitplänen in Kivy
Mein Code:
#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.button import Button
from kivy.clock import Clock
from functools import partial
Builder.load_string('''
<MenuScreen>:
Button:
id:timer1
text: 'click me'
on_press: root.val()
''')
class MenuScreen(Screen):
def val(self):
Clock.schedule_once(self.my_callback_timer1, 5)
Clock.schedule_interval(self.my_callback_timer2, 1)
def my_callback_timer1(self, interval):
print "5 sec code executed"
def my_callback_timer2(self, interval):
print "1 sec code executed"
sm = ScreenManager()
menu = MenuScreen(name='menu')
sm.add_widget(menu)
class MainApp(App):
def build(self):
return sm
if __name__ == '__main__':
MainApp().run()
Dies gibt o/p als:
1 sec code executed
1 sec code executed
1 sec code executed
1 sec code executed
5 sec code executed
1 sec code executed
...
...
und was ich brauche, ist:
5 sec code executed
(wait 5 sec)
1 sec code executed
1 sec code executed
1 sec code executed
...
danke ... ich habe es schon herausgefunden ... genauso wie deine Antwort ... :) –