kivy学习----输入体系

所有输入事件的类是MotionEvent。这个类生成两种事件:Touch触控事件、Non-Touch非触控事件

Motion动作事件的属性

  在Motion动作事件中,有一个字符串作为profile属性,用于说明该事件内都有哪些可用的效果。

Touch事件

  Touch事件的is_touch方法返回的是True,是一种特殊的MotionEvent动作事件。所有的Touch事件,都默认有X和Y的坐标信息,即所有的Touch事件都有pos这一profile属性。

坐标位置:

  一旦使用一个带有矩阵变换的控件,就需要处理好Touch事件中的矩阵变换。例如Scatter这样的某些控件,自身会有矩阵变换,这就意味着Touch事件也必须用Scatter矩阵进行处理,这样才能正确地把Touch事件的位置分派给Scatter的子控件。

  • 从上层空间到本地空间获取坐标:to_local()
  • 从本地空间到上层空间获取坐标:to_parent()
  • 从本地空间到窗口空间获取坐标:to_window()
  • 从窗口空间到本地空间获取坐标:to_widget()

 一定要使用上面方法中的某一种来确保内容坐标系适配正确。以下这段代码里是Scatter的实现:

 

Touch事件的形状:

  Touch事件的形状会反映在shape这一property属性中,目前能用的就是一个ShapeRect

(1)双击

  双击是一种特定动作,在一小段时间和很短的一小段特定距离内敲击两下。双击的计算识别是通过一个双击后处理模块来实现。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/suyun1219/p/11408679.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值