Класс QGesture
Класс QGesture представляет жест, содержащий свойства, описывающие соответствующий ввод пользователя. Подробнее...
| Заголовок: | #include <QGesture> |
| qmake: | QT += widgets |
| С момента: | Qt 4.6 |
| Наследует: | QObject |
| Наследуется от: | QPanGesture, QPinchGesture, QSwipeGesture, QTapAndHoldGesture и QTapGesture |
Этот класс был введён в Qt 4.6.
Типы public
| Перечисление | GestureCancelPolicy { CancelNone, CancelAllInContext } |
Свойства
|
Функции public
| QGesture(QObject *parent = nullptr) | |
| virtual | ~QGesture() |
| QGesture::GestureCancelPolicy | gestureCancelPolicy() const |
| Qt::GestureType | gestureType() const |
| bool | hasHotSpot() const |
| QPointF | hotSpot() const |
| void | setGestureCancelPolicy(QGesture::GestureCancelPolicy policy) |
| void | setHotSpot(const QPointF &value) |
| Qt::GestureState | state() const |
| void | unsetHotSpot() |
Подробное описание
Объекты жестов не создаются разработчиками напрямую. Они создаются объектом QGestureRecognizer, зарегистрированным в приложении; см. QGestureRecognizer::registerRecognizer().
Для обзора обработки жестов в Qt и информации об использовании жестов в ваших приложениях см. документ Gestures in Widgets and Graphics View.
Свойства жеста
Класс имеет список свойств, которые могут быть запрошены пользователем для получения некоторых аргументов, специфичных для жеста. Например, у жеста pinch есть коэффициент масштабирования, который отображается как свойство.
Разработчики пользовательских распознавателей жестов могут добавить дополнительные свойства для предоставления дополнительной информации о жесте. Это можно сделать, добавив новые динамические свойства в объект QGesture или наследуя класс QGesture (или один из его подклассов).
Жизненный цикл объекта жеста
Экземпляр QGesture неявно создаётся по мере необходимости и принадлежит Qt. Разработчики не должны уничтожать их или хранить для последующего использования, так как Qt может уничтожить конкретные экземпляры и создать новые, чтобы заменить их.
Зарегистрированный распознаватель жестов отслеживает события ввода для целевого объекта через свою функцию recognize(), обновляя свойства объекта жеста по мере необходимости.
Объект жеста может быть передан целевому объекту в QGestureEvent, если соответствующий жест активен или только что был отменён. Каждый переданный событие содержит список объектов жестов, так как для целевого объекта может быть включена поддержка более одного жеста. Из-за того, как обрабатываются события в Qt, события жестов могут быть отфильтрованы другими объектами.
См. также QGestureEvent и QGestureRecognizer.
Документация по типам членов
enum QGesture::GestureCancelPolicy
Это перечисление описывает, как принятие жеста может автоматически отменять другие жесты.
| Константа | Значение | Описание |
|---|---|---|
QGesture::CancelNone |
0 |
При принятии этого жеста другие жесты не будут затронуты. |
QGesture::CancelAllInContext |
1 |
При принятии этого жеста все жесты, активные в контексте (учитывая Qt::GestureFlag, указанные при подписке на жест), будут отменены. |
Документация по свойствам
gestureCancelPolicy : QGesture::GestureCancelPolicy
Это свойство содержит политику для определения того, что происходит при принятии жеста.
При принятии одного жеста Qt может автоматически отменить другие жесты, относящиеся к другим целевым объектам. Политика обычно устанавливается так, чтобы не отменять другие жесты, и может быть установлена так, чтобы отменить все активные жесты в контексте. Например, для всех дочерних виджетов.
Функции доступа:
| QGesture::GestureCancelPolicy | gestureCancelPolicy() const |
| void | setGestureCancelPolicy(QGesture::GestureCancelPolicy policy) |
gestureType : const Qt::GestureType
Это свойство содержит тип жеста.
Функции доступа:
| Qt::GestureType | gestureType() const |
hasHotSpot : const bool
Это свойство содержит значение, указывающее, имеет ли жест горячую точку.
Функции доступа:
| bool | hasHotSpot() const |
hotSpot : QPointF
Это свойство содержит точку, используемую для поиска получателя события жеста.
Горячая точка находится в глобальной системе координат. Используйте QWidget::mapFromGlobal() или QGestureEvent::mapToGraphicsScene(), чтобы получить локальную горячую точку.
Горячая точка должна быть установлена распознавателем жеста для передачи события жеста объекту QGraphicsObject.
Функции доступа:
| QPointF | hotSpot() const |
| void | setHotSpot(const QPointF &value) |
| void | unsetHotSpot() |
state : const Qt::GestureState
Это свойство содержит текущее состояние жеста.
Функции доступа:
| Qt::GestureState | state() const |
Документация по функциям-членам
QGesture::QGesture(QObject *parent = nullptr)
Конструирует новый объект жеста с заданным parent.
Объекты QGesture создаются распознавателями жестов в функции QGestureRecognizer::create().
[virtual] QGesture::~QGesture()
Уничтожает объект жеста.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qgesture.html