Тип QML MapGestureArea
Тип MapGestureArea предоставляет взаимодействие с жестами карты. Подробнее...
| Заявление импорта: | import QtLocation 5.3 |
| С: | Qt Location 5.0 |
Свойства
- acceptedGestures : перечисление
- enabled : bool
- flickDeceleration : real
- maximumZoomLevelChange : real
- panActive : bool
- pinchActive : bool
- preventStealing : bool
- rotationActive : bool
- tiltActive : bool
Сигналы
- flickFinished()
- flickStarted()
- panFinished()
- panStarted()
- pinchFinished(PinchEvent event)
- pinchStarted(PinchEvent event)
- pinchUpdated(PinchEvent event)
- rotationFinished(PinchEvent event)
- rotationStarted(PinchEvent event)
- rotationUpdated(PinchEvent event)
- tiltFinished(PinchEvent event)
- tiltStarted(PinchEvent event)
- tiltUpdated(PinchEvent event)
Подробное описание
MapGestureArea объекты используются в составе карты для предоставления жестов перемещения, рывка и масштабирования при помощи пинцета на сенсорных дисплеях, а также вращения двумя пальцами и параллельного вертикального перемещения двумя пальцами для наклона карты.
MapGestureArea автоматически создается с новой картой и доступен со свойством gesture. Это единственный способ создания MapGestureArea, и после создания таким образом его нельзя уничтожить без родительской карты.
Два наиболее часто используемых свойства MapGestureArea — это свойства enabled и acceptedGestures. Оба этих свойства должны быть установлены перед тем, как MapGestureArea будет оказывать какое-либо влияние на взаимодействие с картой. Свойство flickDeceleration контролирует скорость замедления перемещения карты после отпускания контакта при перемещении карты.
Производительность
MapGestureArea, будучи включенным, должен обрабатывать все входящие события касания, чтобы отслеживать форму и размер «щипков». Надстройка, добавленная к событиям касания, может рассматриваться как постоянное время.
Пример использования
В следующем примере включены жесты щипка и перемещения на карте, но не рывка. Таким образом, прокрутка карты прекратится сразу при отпускании кнопки мыши/касания.
Map {
gesture.enabled: true
gesture.acceptedGestures: MapGestureArea.PinchGesture | MapGestureArea.PanGesture
} Документация по свойствам
acceptedGestures : перечисление
Это свойство содержит жесты, которые будут активны. По умолчанию все жесты включены.
- MapGestureArea.NoGesture — не поддерживаются дополнительные жесты (значение: 0x0000).
- MapGestureArea.PinchGesture — поддерживается жест щипка карты (значение: 0x0001).
- MapGestureArea.PanGesture — поддерживается жест перемещения карты (значение: 0x0002).
- MapGestureArea.FlickGesture — поддерживается жест рывка карты (значение: 0x0004).
- MapGestureArea.RotationGesture — поддерживается жест поворота карты (значение: 0x0008).
- MapGestureArea.TiltGesture — поддерживается жест наклона карты (значение: 0x0010).
enabled : bool
Это свойство указывает, включены ли жесты.
flickDeceleration : real
Это свойство содержит скорость замедления рывка.
Значение по умолчанию — 2500.
maximumZoomLevelChange : real
Это свойство содержит максимальное изменение уровня масштабирования при щипке, по сути, предназначенное для настройки чувствительности масштабирования.
Это индикативное значение, рассчитанное по размерам области карты, приблизительно соответствующее тому, насколько может измениться уровень масштабирования при максимальном масштабировании щипком. Значение по умолчанию — 4,0, максимальное значение — 10,0.
panActive : bool
Это только для чтения свойство, указывающее, активен ли жест перемещения.
Примечание: Уведомления об изменениях для этого свойства были представлены в Qt 5.5.
pinchActive : bool
Это только для чтения свойство, указывающее, активен ли жест щипка.
preventStealing : bool
Это свойство указывает, могут ли события мыши быть украдены от этого MapGestureArea.
Если карта размещена внутри элемента, который фильтрует события мыши и касания дочерних элементов, таких как Flickable, события мыши и касания могут быть украдены у MapGestureArea, если родительский элемент распознает жест, например, жест рывка. Если preventStealing установлено в true, ни один элемент не украдет события мыши и касания.
Обратите внимание, что установка preventStealing в true после того, как элемент начал красть события, не повлияет до следующего события нажатия.
По умолчанию это свойство имеет значение false.
rotationActive : bool
Это только для чтения свойство, указывающее, активен ли жест поворота двумя пальцами.
Это свойство QML было представлено в Qt Location 5.9.
tiltActive : bool
Это только для чтения свойство, указывающее, активен ли жест наклона двумя пальцами.
Это свойство QML было представлено в Qt Location 5.9.
Документация по сигналам
flickFinished()
Этот сигнал излучается, когда карта перестает двигаться из-за рывка.
Соответствующий обработчик — onFlickFinished.
flickStarted()
Этот сигнал излучается, когда карта рывком сдвигается. Рывок начинается с точки, где мышь или касание были отпущены, но при этом остаются в движении.
Соответствующий обработчик — onFlichStarted.
panFinished()
Этот сигнал излучается, когда карта перестает двигаться из-за взаимодействия пользователя. Если был сгенерирован рывок, этот сигнал излучается до начала рывка. Если рывок не был сгенерирован, этот сигнал излучается, когда пользователь прекращает перетаскивание — т. е. отпускает кнопку мыши или касание.
Соответствующий обработчик — onPanFinished.
panStarted()
Этот сигнал излучается, когда карта начинает двигаться из-за взаимодействия пользователя. Как правило, это означает, что пользователь перетаскивает палец — или мышь с нажатой одной или несколькими кнопками мыши — по карте.
Соответствующий обработчик — onPanStarted.
pinchFinished(PinchEvent event)
Этот сигнал излучается в конце жеста щипка.
Соответствующий обработчик — onPinchFinished.
См. также pinchStarted и pinchUpdated.
pinchStarted(PinchEvent event)
Этот сигнал излучается при начале жеста щипка.
Соответствующий обработчик — onPinchStarted.
См. также pinchUpdated и pinchFinished.
pinchUpdated(PinchEvent event)
Этот сигнал излучается, когда пальцы пользователя перемещаются по карте после излучения сигнала pinchStarted.
Соответствующий обработчик — onPinchUpdated.
См. также pinchStarted и pinchFinished.
rotationFinished(PinchEvent event)
Этот сигнал излучается в конце жеста вращения двумя пальцами.
Соответствующий обработчик — onRotationFinished.
Этот QML-сигнал был добавлен в Qt Location 5.9.
См. также rotationStarted и rotationUpdated.
rotationStarted(PinchEvent event)
Этот сигнал излучается при начале жеста вращения двумя пальцами.
Соответствующий обработчик — onRotationStarted.
Этот QML-сигнал был добавлен в Qt Location 5.9.
См. также rotationUpdated и rotationFinished.
rotationUpdated(PinchEvent event)
Этот сигнал излучается, когда пользователь перемещает пальцы по карте после излучения сигнала rotationStarted.
Соответствующий обработчик — onRotationUpdated.
Этот QML-сигнал был добавлен в Qt Location 5.9.
См. также rotationStarted и rotationFinished.
tiltFinished(PinchEvent event)
Этот сигнал излучается в конце жеста наклона двумя пальцами.
Соответствующий обработчик — onTiltFinished.
Этот QML-сигнал был добавлен в Qt Location 5.9.
См. также tiltStarted и tiltUpdated.
tiltStarted(PinchEvent event)
Этот сигнал излучается при начале жеста наклона двумя пальцами.
Соответствующий обработчик — onTiltStarted.
Этот QML-сигнал был добавлен в Qt Location 5.9.
См. также tiltUpdated и tiltFinished.
tiltUpdated(PinchEvent event)
Этот сигнал излучается, когда пользователь перемещает пальцы по карте после излучения сигнала tiltStarted.
Соответствующий обработчик — onTiltUpdated.
Этот QML-сигнал был добавлен в Qt Location 5.9.
См. также tiltStarted и tiltFinished.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtlocation-mapgesturearea.html