美文网首页Python 运维
一、起步(1.6事件)

一、起步(1.6事件)

作者: gthank | 来源:发表于2016-02-03 10:10 被阅读218次

    1.6事件

    Kivy基本上是基于事件驱动的,这也就意味着程序执行顺序被事件所决定。

    1. 时钟事件

      时钟对象允许你使用schedule_once()来定时执行一个函数;或者使用schedule_interval()重复执行一个函数。

      你也可以利用create_trigger()创建一个触发事件,触发器只能被一个框架调用一次,即使你为该回调函数设置了多次触发。

    2. 输入事件

      所有的鼠标点击、触摸、滚轮滚动事件都是MotionEvent事件的一部分;输入事件扩展自输入处理,当在窗口类执行on_motion事件时被发送。在部件中这些事件生成为on_touch_down()on_touch_move()on_touch_up()事件。

      要进一步了解,请参阅输入管理

    3. 类事件

      部件里,我们的事件分发类EventDispatcher被用来有效的管理属性值的变动,这意味着当一个部件改变了它的位置、尺寸,相应的事件就会自动的发送。

      并且,正如在按钮部件中,on_presson_release等事件所展示的那样,你可以利用register_event_type创建自定义事件,

      另外你需要注意的是,如果你重载了一个事件,那么你就必须处理它在基类中定义的所有行为。一个最容易的方式是调用super():

    def on_touch_down(self, touch):        
        if super(OurClassName, self).on_touch_down(touch):
            return True
        if not self.collide_point(touch.x, touch.y):
            return False
        print('you touched me!')
        return True
    
    如果想对事件有更深入的了解,请参阅[事件和属性](https://kivy.org/docs/guide/events.html)文档
    

    下节预告:1.7 非部件类

    相关文章

      网友评论

        本文标题:一、起步(1.6事件)

        本文链接:https://www.haomeiwen.com/subject/ktkekttx.html