捏合区域 QML 类型

启用简单的捏合手势处理。 更多...

导入语句import QtQuick
继承

Item

属性

信号

详细描述

PinchArea 类型是在 QtQuick 1.1 中添加的

PinchArea 是一个不可见的项,通常与一个可见项一起使用,以便为该项提供捏合手势处理。

enabled 属性用于启用和禁用代理项的捏合处理。当禁用时,捏合区域对鼠标/触摸事件变得透明。

PinchArea 可以有两种使用方式

  • 设置 pinch.target 以提供与项的自动交互
  • 使用 onPinchStarted、onPinchUpdated 和 onPinchFinished 处理器

从 Qt 5.5 开始,PinchArea 可以在操作系统提供的情况下响应用户本地的捏合手势事件;如果没有,它只响应用户触摸事件。

另请参阅 PinchEventQNativeGestureEventQTouchEvent

属性文档

enabled : bool

该属性决定项是否接受捏合手势。

该属性默认为 true。


捏合组

pinch.active : bool [只读]

pinch.dragAxis : 枚举

pinch.maximumRotation : real

pinch.maximumScale : real

pinch.maximumX : real

pinch.maximumY : real

pinch.minimumRotation : real

pinch.minimumScale : real

pinch.minimumX : real

pinch.minimumY : real

pinch.target : Item

pinch 提供了一种方便的方式使项对捏合手势做出响应。

  • pinch.target 指定要拖动的项的ID。
  • pinch.active 指定目标项当前是否正在拖动。
  • pinch.minimumScalepinch.maximumScale 限制了 Item.scale 属性的范围,但不是 PinchEventscale 属性。
  • pinch.minimumRotationpinch.maximumRotation 限制了 Item.rotation 属性的范围,但不是 PinchEventrotation 属性。
  • pinch.dragAxis 指定是否允许拖动(Pinch.NoDrag),是否可以进行水平(Pinch.XAxis)、垂直(Pinch.YAxis)或两者都(Pinch.XAndYAxis)拖动。
  • pinch.minimumpinch.maximum 限制了目标在相应轴上可以拖动的距离。

信号文档

pinchFinished(PinchEvent pinch)

当捏合区域检测到捏合手势结束时,会发出此信号。

pinch 参数(与 pinch 属性不同)提供了有关捏合手势的信息,包括捏合的缩放、中心和角度。

注意:相应的事件处理程序是 onPinchFinished


pinchStarted(PinchEvent pinch)

当捏合区域检测到捏合手势开始时,会发出此信号:已检测到两个触摸点(手指),并且它们已经移动超过了手势开始的 startDragDistance 阈值。

pinch 参数(与 pinch 属性不同)提供了有关捏合手势的信息,包括捏合的缩放、中心和角度。在 pinchStarted 信号发出时,这些值将重置为默认值,无论先前手势的结果如何:捏合的缩放将为 1.0,捏合的旋转将为 0.0。随着手势的进行,pinchUpdated 将报告与这些默认值之间的偏差。

要忽略此手势,将 pinch.accepted 属性设置为 false。该手势将被取消,且不会发送其他事件。

注意:相应的事件处理程序是 onPinchStarted


pinchUpdated(PinchEvent pinch)

当捏合区域检测到捏合手势已改变时,会发出此信号。

《捏合》参数提供了有关捏合手势的信息,包括缩放比例、中心和角度。这些值仅反映从当前捏合手势开始的变更,因此不受《捏合》属性中的最小值和最大值的限制。

注意:相应的处理函数是onPinchUpdated


smartZoom(捏合事件 捏合)

当捏合区域检测到智能缩放手势时,会发出此信号。这种手势仅在macOS等特定操作系统上发生。

《捏合》参数提供了有关捏合手势的信息,包括手势发生的位置。当手势表示用户希望进入智能缩放时,捏合.scale将大于零;当退出时为零(即使通常使用相同的操作来在两种状态之间切换)。

注意:相应的处理函数是onSmartZoom


© 2024 The Qt Company Ltd. 本文件中的文档贡献属于其各自的拥有者。提供的文档受自由软件基金会发布的《GNU自由文档许可证版本1.3》条款的许可。Qt及其标志是The Qt Company Ltd.在芬兰和/或其他国家的商标。所有其他商标均为其各自拥有者的财产。