Тип QML MapGestureArea
Тип MapGestureArea предоставляет взаимодействие с жестами карты. Подробнее...
| Объявление импорта: | import QtLocation 5.11 |
| С тех пор: | QtLocation 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 используется как часть карты для предоставления жестов панорамирования, отскока и масштабирования при помощи пинцета, а также двухпалевого вращения и двухпалевого вертикального скольжения для наклона карты. На платформах, поддерживающих QWheelEvent, прокрутка колесика мыши, в сочетании с модификаторами клавиш Shift или Ctrl, также будет масштабировать, вращать или наклонять карту соответственно.
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
Это только для чтения свойство указывает, активен ли жест вращения двумя пальцами.
Это свойство было введено в QtLocation 5.9.
tiltActive : bool
Это только для чтения свойство указывает, активен ли жест наклона двумя пальцами.
Это свойство было введено в QtLocation 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.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationStarted и rotationUpdated.
rotationStarted(PinchEvent event)
Этот сигнал испускается при начале жеста поворота двумя пальцами.
Соответствующий обработчик — onRotationStarted.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationUpdated и rotationFinished.
rotationUpdated(PinchEvent event)
Этот сигнал испускается, когда пальцы пользователя перемещаются по карте после испускания сигнала rotationStarted.
Соответствующий обработчик — onRotationUpdated.
Этот сигнал был добавлен в QtLocation 5.9.
См. также rotationStarted и rotationFinished.
tiltFinished(PinchEvent event)
Этот сигнал испускается в конце жеста наклона двумя пальцами.
Соответствующий обработчик — onTiltFinished.
Этот сигнал был добавлен в QtLocation 5.9.
См. также tiltStarted и tiltUpdated.
tiltStarted(PinchEvent event)
Этот сигнал испускается при начале жеста наклона двумя пальцами.
Соответствующий обработчик — onTiltStarted.
Этот сигнал был добавлен в QtLocation 5.9.
См. также tiltUpdated и tiltFinished.
tiltUpdated(PinchEvent event)
Этот сигнал испускается, когда пальцы пользователя перемещаются по карте после испускания сигнала tiltStarted.
Соответствующий обработчик — onTiltUpdated.
Этот сигнал был добавлен в QtLocation 5.9.
См. также tiltStarted и tiltFinished.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtlocation-mapgesturearea.html