class QNativeGestureEvent#

QNativeGestureEvent 类包含描述手势事件的参数。 更多

Inheritance diagram of PySide6.QtGui.QNativeGestureEvent

概述#

方法#

注意

本文档可能包含从 C++ 自动翻译到 Python 的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建问题报告来告诉我们。

详细描述#

原生手势事件由操作系统生成,通常通过解释触摸板触摸事件来实现。手势事件是高级事件,例如缩放、旋转或平移。一些类型包含增量值:即,value()delta() 提供了上一个事件与当前事件的差值。

事件类型

描述

触摸序列

Qt::ZoomNativeGesture

百分比放大增量。

macOS 和 Wayland:双指捏合。

Qt::SmartZoomNativeGesture

布尔放大状态。

macOS:双指双击(触摸板)/ 单指双击(魔法鼠标)。

Qt::RotateNativeGesture

旋转增量(以度为单位)。

macOS 和 Wayland:双指旋转。

Qt::SwipeNativeGesture

滑动角度(以度为单位)。

macOS:在触摸板设置中可配置。

Qt::PanNativeGesture

像素位移增量。

Wayland:三指或多指作为一个整体移动,朝任何方向。

此外,BeforeNativeGesture 和 AfterNativeGesture 会发送在手势事件流之前和之后

BeginNativeGesture ZoomNativeGesture ZoomNativeGesture ZoomNativeGesture EndNativeGesture

事件流可能包括不同类型的手势:例如,双指捏合手势会生成一系列缩放和旋转事件,PanNativeGesture 可能会根据平台与这些事件交替。

其他类型是独立的事件:SmartZoomNativeGesture 和 SwipeNativeGesture 每次检测到手势时仅各发生一次。

注意

在触摸板上,以一个整体移动两指(双指快速轻扫手势)通常保留用于滚动;在这种情况下,Qt 会产生 QWheelEvents。这就是为什么需要三指或多指才能生成 PanNativeGesture 的原因。

另请参阅

QWheelEvent

__init__(type, dev, localPos, scenePos, globalPos, value, sequenceId, intArgument)#
参数:

注意

此函数已过时。

请使用其他构造函数,因为 intValue 不会再单独存储。

构造一个从 device 出发的类型为 type 的本地手势事件。

localPosscenePosglobalPos 分别指定手势相对于接收部件或项、窗口以及屏幕或桌面的位置。

realValue 是 macOS 事件参数,sequenceIdintValue 是 Windows 事件参数。

注意

无法同时存储 realValue 和 intValue:其中之一必须是零。如果 realValue == 0 且 intValue != 0,则它们存储在同一个变量中,这样 value() 就会返回作为 intValue 提供的值。

__init__(type, dev, fingerCount, localPos, scenePos, globalPos, value, delta[, sequenceId=UINT64_MAX])
参数:

根据从 device 出发并描述在 scenePos 处的手势,构造一个类型为 type 的本地手势事件,其中涉及 fingerCount 个手指。

localPosscenePosglobalPos 分别指定手势相对于接收部件或项、窗口以及屏幕或桌面的位置。

value 有手势依赖的解释:对于 RotateNativeGesture 或 SwipeNativeGesture,它是一个以度为单位的角度。对于 ZoomNativeGesture,value 是增量缩放系数,通常小于 1,表示目标项应按如下方式调整其缩放:item.scale = item.scale * (1 + event.value)

对于 PanNativeGesture,delta 提供了视口、部件或项应移动或平移的像素距离。

注意

delta 存储在单精度(QVector2D),因此 delta() 在某些情况下可能会返回略微不同的值。这可能在 Qt 的未来版本中发生变化。

__init__(arg__1)
参数:

arg__1QNativeGestureEvent

delta()#
返回类型::

QPointF

返回自上一个事件以来移动的距离,单位为像素。平移手势提供以像素为单位的目标小部件、项目或视口内容的移动距离。

另请参阅

delta()

fingerCount()#
返回类型::

int

返回参与手势的手指数量,如果已知。当 gestureType() 为 Qt::BeginNativeGesture 或 Qt::EndNativeGesture 时,通常此信息未知,fingerCount() 返回 0

gestureType()#
返回类型::

NativeGestureType

返回手势类型。

globalPos()#
返回类型::

QPoint

注意

此函数已过时。

使用 globalPosition() .toPoint() 代替。

返回手势的位置,为屏幕坐标下的QPointF。

localPos()#
返回类型::

QPointF

注意

此函数已过时。

使用 position() 代替。

返回手势的位置,为相对于接收事件的窗口小部件或项目的QPointF。

pos()#
返回类型::

QPoint

注意

此函数已过时。

使用 position() .toPoint() 代替。

返回鼠标光标相对于接收事件的窗口小部件或项目的位置。

screenPos()#
返回类型::

QPointF

注意

此函数已过时。

使用 globalPosition() 代替。

返回手势在屏幕坐标下的QPointF位置。

value()#
返回类型::

float

返回手势值。根据手势类型进行解释。例如,缩放手势提供缩放因子,旋转手势提供旋转增量。

windowPos()#
返回类型::

QPointF

注意

此函数已过时。

请使用 scenePosition() 代替。

返回手势的位置作为 QPointF,相对于接收事件的窗口。