Spec-Zone.ru › Qt

Класс QNativeGestureEvent

Класс QNativeGestureEvent содержит параметры, описывающие событие жеста. Подробнее...

Заголовок: #include <QNativeGestureEvent>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
С тех пор: Qt 5.2
Наследует: QSinglePointEvent
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Открытые функции

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)
QPointF delta() const
int fingerCount() const
Qt::NativeGestureType gestureType() const
qreal value() const

Подробное описание

События нативных жестов генерируются операционной системой, обычно интерпретируя события касания трекпада. События жестов являются событиями высокого уровня, такими как масштабирование, поворот или перемещение. Несколько типов содержат значения приращений: то есть, value() и delta() предоставляют разницу между предыдущим и текущим событиями.

Тип события Описание Последовательность касаний
Qt::ZoomNativeGesture Приращение масштабирования в процентах. macOS и Wayland: Щелчок двумя пальцами.
Qt::SmartZoomNativeGesture Логическое состояние масштабирования. macOS: Двойной щелчок двумя пальцами (трекпад) / Двойной щелчок одним пальцем (мышь Magic Mouse).
Qt::RotateNativeGesture Приращение поворота в градусах. macOS и Wayland: Поворот двумя пальцами.
Qt::SwipeNativeGesture Угол свайпа в градусах. macOS: Настраивается в настройках трекпада.
Qt::PanNativeGesture Приращение перемещения в пикселях. Wayland: Движение трех или более пальцев как группы в любом направлении.

Кроме того, BeginNativeGesture и EndNativeGesture отправляются до и после потоков событий жестов:

BeginNativeGesture ZoomNativeGesture ZoomNativeGesture ZoomNativeGesture EndNativeGesture

Поток событий может содержать чередующиеся жесты разных типов: например, жест щелчка двумя пальцами генерирует поток событий Zoom и Rotate, а PanNativeGesture иногда может чередоваться с ними, в зависимости от платформы.

Другие типы являются автономными событиями: SmartZoomNativeGesture и SwipeNativeGesture происходят только один раз каждый раз, когда жест определяется.

Примечание: На трекпаде перемещение двух пальцев как группы (жест свайпа двумя пальцами) обычно используется для прокрутки; в этом случае Qt генерирует QWheelEvents. Это причина, по которой для генерации PanNativeGesture требуется три или более пальца.

См. также Qt::NativeGestureType, QGestureEvent и QWheelEvent.

Документация по функциям-членам

[since 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 дает расстояние в пикселях, на которое должен быть перемещен, сдвинут или изменен viewport, виджет или элемент.

Примечание: delta хранится с одинарной точностью (QVector2D), поэтому delta() может возвращать немного разные значения в некоторых случаях. Это может измениться в будущих версиях Qt.

Эта функция была добавлена в Qt 6.2.

[since 6.2] QPointF QNativeGestureEvent::delta() const

Возвращает расстояние перемещения с момента предыдущего события в пикселях. Жест Pan предоставляет расстояние в пикселях, на которое целевой виджет, элемент или содержимое viewport должны быть смещены.

Эта функция была добавлена в Qt 6.2.

См. также QPanGesture::delta().

[since 6.2] int QNativeGestureEvent::fingerCount() const

Возвращает количество пальцев, участвующих в жесте, если оно известно. Когда gestureType() имеет значение Qt::BeginNativeGesture или Qt::EndNativeGesture, часто эта информация неизвестна, и fingerCount() возвращает 0.

Эта функция была добавлена в Qt 6.2.

[since 5.2] Qt::NativeGestureType QNativeGestureEvent::gestureType() const

Возвращает тип жеста.

Эта функция была добавлена в Qt 5.2.

[since 5.2] qreal QNativeGestureEvent::value() const

Возвращает значение жеста. Значение должно интерпретироваться на основе типа жеста. Например, жест масштабирования предоставляет приращение коэффициента масштабирования, а жест поворота предоставляет приращение поворота.

Эта функция была добавлена в Qt 5.2.

См. также QNativeGestureEvent и gestureType().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qnativegestureevent.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API