QNativeGestureEvent 类
QNativeGestureEvent 类包含描述手势事件的参数。更多信息...
头文件 | #include <QNativeGestureEvent> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
继承 | QSinglePointEvent |
- 包括继承成员在内的所有成员列表
- 已弃用的成员
- QNativeGestureEvent 是 事件类 的一部分。
公共函数
(自 6.2) | QNativeGestureEvent(Qt::NativeGestureType type, const QPointingDevice *device, int fingerCount, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, qreal value, const QPointF &delta, quint64 sequenceId = UINT64_MAX) |
(自 6.2) QPointF | delta() const |
(自 6.2) int | fingerCount() const |
Qt::NativeGestureType | gestureType() const |
qreal | value() const |
详细描述
原生手势事件由操作系统生成,通常通过解释触摸板触摸事件实现。手势事件是高级事件,如缩放、旋转或平移。一些类型持有增量值:即 value() 和 delta() 提供当前事件与上一个事件之间的差异。
事件类型 | 描述 | 触摸序列 |
---|---|---|
Qt::ZoomNativeGesture | 百分比缩放增量。 | macOS 和 Wayland:两指捏缩。 |
Qt::SmartZoomNativeGesture | 布尔缩放状态。 | macOS:双指双击(触摸板)/ 单指双击(魔力鼠标)。 |
Qt::RotateNativeGesture | 旋转增量(以度为单位)。 | macOS 和 Wayland:两指旋转。 |
Qt::SwipeNativeGesture | 滑动角度(以度为单位)。 | macOS:可在触摸板设置中配置。 |
Qt::PanNativeGesture | 像素位移增量。 | Wayland:三指或更多手指作为一个组在任何方向上移动。 |
此外,BeginNativeGesture 和 EndNativeGesture 在手势事件流之前和之后发送
BeginNativeGesture ZoomNativeGesture ZoomNativeGesture ZoomNativeGesture EndNativeGesture
事件流可能包含不同类型的手势事件:例如,两指捏缩手势生成一个包含 Zoom 和 Rotate 事件的事件流,并且 PanNativeGesture 可能根据平台有时会与之交织。
其他类型是独立的事件:SmartZoomNativeGesture 和 SwipeNativeGesture 在检测到手势每次只发生一次。
注意:在触摸板上,将两只手指作为一个组合移动(即双指滑动手势)通常用于滚动;在这种情况下,Qt会生成QWheelEvent。这就是为什么需要三只或更多手指才能生成PanNativeGesture。
另请参阅 Qt::NativeGestureType、QGestureEvent 和 QWheelEvent。
成员函数文档
[自 6.2 版本以来]
QNativeGestureEvent::QNativeGestureEvent(Qt::NativeGestureType type, const QPointingDevice *device, int fingerCount, const QPointF &localPos, const QPointF &scenePos, const QPointF &globalPos, qreal value, const QPointF &delta, quint64 sequenceId = UINT64_MAX)
构建类型为type,由device生成,描述在scenePos处的手势,其中涉及fingerCount个手指的原生手势事件。
localPos、scenePos 和 globalPos点分别指定手势相对于接收窗口或项目、窗口、屏幕或桌面的位置。
value具有手势依赖的解释:对于RotateNativeGesture或SwipeNativeGesture,它是一个以度为单位的角。对于ZoomNativeGesture,value是一个增量缩放因子,通常小于1,表示目标项应按照如下方式调整其比例:item.scale = item.scale * (1 + event.value)
对于PanNativeGesture,delta给出了视口、窗口或项应移动或滚动的像素距离。
此功能自Qt 6.2版本引入。
[自 6.2 版本以来]
QPointF QNativeGestureEvent::delta() const
返回自上次事件以来移动的距离(以像素为单位)。一个平移手势通过像素值提供目标窗口、项目或视图内容应移动的距离。
此功能自Qt 6.2版本引入。
另请参阅 QPanGesture::delta。
[自 6.2 版本以来]
int QNativeGestureEvent::fingerCount() const
如果知道,返回参与手势的手指数。当gestureType()是Qt::BeginNativeGesture或Qt::EndNativeGesture时,通常不知道此信息,fingerCount()返回0
。
此功能自Qt 6.2版本引入。
Qt::NativeGestureType QNativeGestureEvent::gestureType() const
返回手势类型。
qreal QNativeGestureEvent::value() const
返回手势值。应根据手势类型来解释此值。例如,缩放手势提供了一个缩放因子增量,而旋转手势提供了一个旋转增量。
另请参阅 QNativeGestureEvent 和 gestureType 函数。
© 2024 The Qt Company Ltd. 本文档中的文档贡献均为各自所有者的版权。所提供的文档受 Free Software Foundation 发布的 GNU Free Documentation License 版本 1.3 条款的约束。Qt 以及相应的标志是 The Qt Company Ltd. 在芬兰及/或其他国家的商标。其他所有商标均为各自所有者的财产。