Тип QML ObjectPicker
Класс ObjectPicker создаёт компонент, который можно использовать для взаимодействия с сущностью с помощью процесса, известного как выбор. Подробнее...
| Заявление об импорте: | import Qt3D.Render 2.0 |
| Создаёт: | QObjectPicker |
Свойства
- containsMouse : bool
- dragEnabled : bool
- hoverEnabled : bool
- pressed : bool
- priority : int
Сигналы
- clicked(PickEvent pick)
- clicked(PickEvent pick)
- entered()
- exited()
- moved(PickEvent pick)
- pressed(PickEvent pick)
- released(PickEvent pick)
Подробное описание
Для каждой комбинации порта и камеры выбор выполняет поиск луча по сцене, чтобы найти сущности, чья граничная область пересекает луч. Граничная область вычисляется с использованием значений в буфере атрибутов, указанном свойством boundingVolumePositionAttribute геометрии.
Сигналы pressed(), released(), clicked(), moved(), entered() и exited() генерируются, когда граничная область, определенная свойством pickAttribute, пересекает луч.
Большинство сигналов передают экземпляр PickEvent. Если PickingSettings.pickMode установлен в PickingSettings.TrianglePicking, фактический тип параметра pick будет PickTriangleEvent.
Запросы выбора выполняются при нажатии и отпускании мыши. Если включен перенос, запросы также выполняются при каждом перемещении мыши, пока нажата какая-либо кнопка. Если включен режим наведения, запросы выполняются при каждом перемещении мыши, даже если ни одна кнопка не нажата.
Примечание: Чтобы получать события наведения в QtQuick, свойство hoverEnabled компонента Scene3D также должно быть установлено.
Примечание: Экземпляры этого компонента не должны быть общими, несоблюдение этого условия, скорее всего, приведёт к неопределённому поведению.
Примечание: Значение дальнего плоскости камеры влияет на выбор и приводит к некорректным результатам из-за точности с плавающей запятой, если оно больше ~100 000.
См. также PickingSettings, Геометрия, Атрибут, PickEvent, PickTriangleEvent и NoPicking.
Документация по свойствам
containsMouse : bool
Указывает, содержит ли объект-выборчик в данный момент указатель мыши
dragEnabled : bool
hoverEnabled : bool
Указывает, включено ли наведение
pressed : bool
Указывает, нажат ли в данный момент объект-выборчик
priority : int
Приоритет, используемый при фильтрации результатов выбора по приоритету, когда PickingSettings.pickResultMode установлен в PickingSettings.PriorityPick.
Документация по сигналам
clicked(PickEvent pick)
Этот сигнал генерируется, когда граничная область, определённая свойством pickAttribute, пересекает луч при щелчке мыши. Информация о пересечении доступна через параметр pick.
Примечание: Соответствующий обработчик — onClicked.
clicked(PickEvent pick)
Этот сигнал генерируется, когда граничная область, определённая свойством pickAttribute, пересекает луч при щелчке мыши. PickEvent pick содержит детали события.
Примечание: Соответствующий обработчик — onClicked.
entered()
Этот сигнал генерируется, когда граничная область, определённая свойством pickAttribute, пересекает луч при входе указателя в область.
Примечание: Соответствующий обработчик — onEntered.
exited()
Этот сигнал генерируется, когда граничная область, определённая свойством pickAttribute, пересекает луч при выходе луча из области.
Примечание: Соответствующий обработчик — onExited.
moved(PickEvent pick)
Этот сигнал генерируется, когда граничная область, определённая свойством pickAttribute, пересекает луч при перемещении мыши с нажатой кнопкой. Информация о пересечении доступна через параметр pick.
Примечание: Соответствующий обработчик — onMoved.
pressed(PickEvent pick)
Этот сигнал генерируется, когда граничная область, определённая свойством pickAttribute, пересекает луч при нажатии кнопки мыши. Информация о пересечении доступна через параметр pick.
Примечание: Соответствующий обработчик — onPressed.
released(PickEvent pick)
Этот сигнал генерируется, когда граничная область, определённая свойством pickAttribute, пересекает луч при отпускании кнопки мыши. Информация о пересечении доступна через параметр pick.
Примечание: Соответствующий обработчик — onReleased.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qt3d-render-objectpicker.html