Last updated
Last updated
Kivy 主要是,这意味着程序的流程由事件决定。
时钟事件
时钟对象(clock object)允许你使用schedule_once()
方法在未来安排一次性事件的函数调用,或使用schedule_interval()
方法安排重复事件的函数调用。
您还可以使用 create_trigger()
方法创建触发事件。触发器的优点是每帧只调用一次,即使您为相同的回调安排了多个触发器。
输入事件
所有鼠标单击、触摸和滚轮事件都是MotionEvent
的一部分,通过输入后处理(Input Postprocessing)扩展,并通过Window
类中的on_motion
事件调度。然后此事件在小部件Widget
中生成 on_touch_down()
, on_touch_move()
和 on_touch_up()
事件。
如果要深入理解,请查看输入管理。
类事件(class events)
我们的基类EventDispatcher
由Widget
调用,根据我们的属性(Properties)更改。这意味着当一个Widget
改变它的位置或大小时,相应的事件会自动触发。
此外,你可以使用register_event_type()
方法创建自己的事件,就像Button
小部件中的on_press
和on_release
事件一样。
另一个需要注意的是,如果你重写一个事件,你就需要负责实现基类之前处理的所有行为。最简单的方法是调用super()
:
通过阅读事件和属性文档来熟悉事件。