【发布时间】:2015-07-06 20:14:49
【问题描述】:
有没有办法检查某个功能是否已经安排好了?我正在查看 Clock 方法,但没有看到我可以使用的任何东西。我试图避免重新安排一个函数(Clock.unschedule(func) -> Clock.schedule_interval(func, dt)),除非它已经安排好了。
【问题讨论】:
标签: python python-2.7 kivy
有没有办法检查某个功能是否已经安排好了?我正在查看 Clock 方法,但没有看到我可以使用的任何东西。我试图避免重新安排一个函数(Clock.unschedule(func) -> Clock.schedule_interval(func, dt)),除非它已经安排好了。
【问题讨论】:
标签: python python-2.7 kivy
您可以使用kivy.clock.Clock.get_events() 获取预定事件列表:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
Builder.load_string("""
#:import Clock kivy.clock.Clock
<MyWidget>:
Button:
text: "Print events"
on_press: print(Clock.get_events())
Button:
text: "Add event"
on_press: Clock.schedule_once(root.my_callback, 5)
""")
class MyWidget(BoxLayout):
def my_callback(self, arg):
print("my_callback")
class MyApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
MyApp().run()
老答案:
不是很干净的方法,但是可以查看kivy.clock.Clock._events列表的内容。
【讨论】: