zoukankan      html  css  js  c++  java
  • 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)双击

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

     

  • 相关阅读:
    <linux程序设计> 第四章 [ 程序参数 / 环境变量 / 日期与时间]
    阻塞分析
    架构设计分类
    软件测试
    C#中常用的加密类
    SQL2005
    用异或的性质实现简单加密解密
    在sql中取系统时间?日期?年?
    SQL Server常用到的几个设置选项
    Connection Command[ExecuteNonQuery ExecuteScalar ExecuteReader] DataReader DataAdapter DataSet
  • 原文地址:https://www.cnblogs.com/suyun1219/p/11408679.html
Copyright © 2011-2022 走看看