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)双击

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

     

  • 相关阅读:
    Maven项目多环境之间的配置文件的切换
    使用vue脚手架快速创建vue项目(入门)
    SpringAOP之使用切入点创建通知
    epoll的陷阱
    epoll-1
    openSUSE Leap 15格式化挂载新分区
    openSUSE Leap 15取消自动登录
    openSUSE Leap 15通过windows rdp访问
    openSUSE Leap 15安装打开ssh
    数组、函数与指针
  • 原文地址:https://www.cnblogs.com/suyun1219/p/11408679.html
Copyright © 2011-2022 走看看