Тип QML ObjectPicker
Класс ObjectPicker создаёт компонент, который можно использовать для взаимодействия с сущностью посредством процесса, известного как выбор. Подробнее...
| Заявление об импорте: | import Qt3D.Render |
| Создаёт: | 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.2/qml-qt3d-render-objectpicker.html