handlerPoint QML 类型
事件点。更多...
导入语句 | import QtQuick |
属性
- device : PointerDevice
- ellipseDiameters : size
- id : int
- modifiers : enumeration
- position : QPointF
- pressPosition : QPointF
- pressedButtons : enumeration
- pressure : qreal
- rotation : qreal
- sceneGrabPosition : QPointF
- scenePosition : QPointF
- scenePressPosition : QPointF
- uniqueId : pointingDeviceUniqueId
- velocity : QVector2D
详细说明
处理器的 QML 表示形式,用于表示 QEventPoint。
可以将绑定到处理器当前 point 或 centroid 的属性上。例如
import QtQuick Item { width: 640 height: 480 DragHandler { id: handler target: null } Text { color: handler.active ? "darkgreen" : "black" text: handler.centroid.position.x.toFixed(1) + "," + handler.centroid.position.y.toFixed(1) x: handler.centroid.position.x - width / 2 y: handler.centroid.position.y - height } }
当 DragHandler 正在积极响应当前的 eventPoint 时,点会保持最新;但是在点释放后,或者当前点被不同的处理器处理时,position.x
和 position.y
都是 0。
注意:这实际上与 eventPoint 实际上相同;但是一个 eventPoint 是一个长效的 Q_GADGET 短暂的副本,在手势之间被无效化并用于后续的事件传递。无法持续对其进行属性绑定,并且单独的处理器不能在它不是处理器正在处理的活动手势的一部分时依赖它。handlerPoint 是处理器拥有的 Q_GADGET。这使得您可以对其属性进行生存周期绑定。
参见:SinglePointHandler::point 和 MultiPointHandler::centroid。
属性文档
device : PointerDevice |
该属性保存了点(以及其事件)来源的设备。
ellipseDiameters : size |
如果事件来自触摸点并且设备提供此信息,则此属性保存接触斑点的直径。
触摸点被建模为一个椭圆形区域,手指在这里按压触摸屏。实际上,它也可以被建模为位图;但在那种情况下,我们期望在事件发送之前将椭圆边界估计拟合到接触斑片。)用户按压越用力,接触斑片就越大;因此,这些直径提供了一种检测压力的另一种方法,以防设备不包含单独的压力传感器。椭圆以 scenePosition 为中心(在 PointerHandler 的 Item 的局部坐标中的 position)。如果知道 rotation 属性,它提供了椭圆的旋转。如果 rotation 为零,则 height 是较大尺寸(主轴),因为通常的手部位置,向上或向外跨越表面。
如果接触斑片未知或设备不是触摸屏,则这些值将为零。
另见 QtQuick::TouchPoint::ellipseDiameters 和 QEventPoint::ellipseDiameters。
id : int |
点的 ID 数字
在触摸手势期间,从第一个手指被按下到手指释放的时间,每个触摸点将具有唯一的 ID 数字。同样,如果有多个设备输入(例如同时按下鼠标和触摸),则所有设备的当前 eventPoints 都将有唯一的 ID。
注意: 不要假设 ID 数字从零开始或它们是连续的。这样的假设通常是不正确的,因为底层驱动程序的工作方式。
另见 QEventPoint::id。
modifiers : enumeration |
当前的哪个修改键被按下
该属性保存了事件发生时按下的键盘修改键。
position : QPointF |
在父项内部的 parent
这是 eventPoint 相对于父项边界的位置。
pressPosition : QPointF |
在父项内部的按压位置
这是按下此点时相对于父项边界的位置。
pressedButtons : enumeration |
目前哪个鼠标或笔笔按钮被按下
pressure : qreal |
该属性告诉用户在图形平板或触摸屏上按笔或手指有多用力,压力范围从 0
(不可测量的压力)到 1.0
(设备能够测量的最大压力)。
此属性仅在支持压力测量的某些平板电脑和触屏上有效。否则,它将为零。
rotation : qreal |
此属性保存笔在图形平板电脑上的旋转角度或触点在触屏上的接触面积。
此属性仅在支持测量旋转角度的某些平板笔设备和触屏上有效。否则,它将为零。
sceneGrabPosition : QPointF |
场景内的捕获位置
如果此点已被 Pointer Handler 或 Item 捕获,这意味着该对象已完全负责处理此点的移动和释放。在这种情况下,这是在场景图坐标系中捕获发生时的位置。
scenePosition : QPointF |
场景内的位置
这是相对于 Qt Quick 场景点(通常整个窗口)的事件点位置。
scenePressPosition : QPointF |
场景内按下的位置
这是在此点被按下时的位置,在场景图坐标系中。
uniqueId : pointingDeviceUniqueId |
如果有的话,点的唯一 ID
这通常为空,因为触屏无法唯一识别手指。
在某些类型的触屏上,特别是使用 TUIO 驱动的触屏,除了手指外,还可以使用可识别的物理标记(标记对象)。因此,如果此点是触点,且 uniqueId 被设置,则该 ID 就是此对象的标识符。
在图形平板电脑上,每种类型的笔或其他工具通常都有一个唯一的 ID 或序列号,这可以用于对不同工具进行不同的响应。
解读此 ID 的内容需要了解所使用的硬件和驱动程序。
velocity : QVector2D |
表示运动的平均速度和方向的向量
这是一个指向运动方向的速度向量,以每秒逻辑像素为单位。它有 x 和 y 分量,当此点处于运动状态时,至少有一个将不为零。它包含最近平均速度:事件点最近移动的速度和方向。
© 2024 The Qt Company Ltd. 本文档中包含的文档贡献归其各自所有者所有。本文档由自由软件基金会根据 GNU 自由文档许可版 1.3 许可。Qt及其相关标志是 The Qt Company Ltd. 在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。