QObjectPicker Class

class Qt3DRender::QObjectPicker

QObjectPicker 클래스는 피킹이라는 프로세스를 통해 QEntity와 상호 작용하는 데 사용할 수 있는 컴포넌트를 인스턴스화합니다. 더 보기...

Header: #include <QObjectPicker>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
QML에서: ObjectPicker
상속합니다: Qt3DCore::QComponent
상태: Deprecated

속성

공용 기능

bool containsMouse() const
bool isDragEnabled() const
bool isHoverEnabled() const
bool isPressed() const
int priority() const

공용 슬롯

void setDragEnabled(bool dragEnabled)
void setHoverEnabled(bool hoverEnabled)
void setPriority(int priority)

신호

void clicked(Qt3DRender::QPickEvent *pick)
void containsMouseChanged(bool containsMouse)
void dragEnabledChanged(bool dragEnabled)
void entered()
void exited()
void hoverEnabledChanged(bool hoverEnabled)
void moved(Qt3DRender::QPickEvent *pick)
void pressed(Qt3DRender::QPickEvent *pick)
void pressedChanged(bool pressed)
void priorityChanged(int priority)
void released(Qt3DRender::QPickEvent *pick)

상세 설명

뷰포트와 카메라의 모든 조합에 대해, 선택은 씬을 통해 광선을 투사하여 바운딩 볼륨이 광선과 교차하는 엔티티를 찾습니다. 바운딩 볼륨은 지오메트리의 바운딩볼륨위치속성으로 지정된 속성 버퍼의 값을 사용하여 계산됩니다.

pressed(), released(), clicked(), moved(), entered(), exited() 신호는 pickAttribute 속성으로 정의된 바운딩 볼륨이 광선과 교차할 때 방출됩니다.

대부분의 신호는 QPickEvent 인스턴스를 전달합니다. QPickingSettings::pickMode()가 QPickingSettings::TrianglePicking 로 설정된 경우 pick 파라미터의 실제 유형은 QPickTriangleEvent 입니다.

선택 쿼리는 마우스를 누르고 마우스를 놓을 때 수행됩니다. 드래그가 활성화된 경우 버튼을 누르고 있는 동안 마우스를 움직일 때마다 쿼리가 수행됩니다. 호버가 활성화된 경우 버튼을 누르지 않아도 마우스를 움직일 때마다 쿼리가 수행됩니다.

일반화된 광선 캐스팅 쿼리는 Qt3DRender::QRayCasterQt3DRender::QScreenRayCaster 을 참조하세요.

참고: 이 컴포넌트의 인스턴스는 공유해서는 안 되며, 해당 조건을 준수하지 않으면 정의되지 않은 동작이 발생할 가능성이 높습니다.

참고: 카메라 원거리 평면 값이 ~100,000보다 크면 부동소수점 정밀도로 인해 피킹에 영향을 미치고 잘못된 결과를 생성합니다.

Qt3DRender::QPickingSettings, Qt3DCore::QGeometry, Qt3DCore::QAttribute, Qt3DRender::QPickEvent, Qt3DRender::QPickTriangleEvent, Qt3DRender::QNoPicking참조하세요 .

프로퍼티 문서

[read-only] containsMouse : const bool

개체 선택기에 현재 마우스가 포함되어 있는지 여부를 지정합니다.

액세스 기능이 있는지 지정합니다:

bool containsMouse() const

알림 신호:

void containsMouseChanged(bool containsMouse)

dragEnabled : bool

드래그 사용 여부를 지정합니다.

액세스 기능을 지정합니다:

bool isDragEnabled() const
void setDragEnabled(bool dragEnabled)

알림 신호:

void dragEnabledChanged(bool dragEnabled)

hoverEnabled : bool

호버 사용 여부를 지정합니다.

액세스 기능을 지정합니다:

bool isHoverEnabled() const
void setHoverEnabled(bool hoverEnabled)

알림 신호:

void hoverEnabledChanged(bool hoverEnabled)

[read-only] pressed : const bool

개체 선택기가 현재 누르고 있는지 여부를 지정합니다.

기능에 액세스할지 지정합니다:

bool isPressed() const

알림 신호:

void pressedChanged(bool pressed)

priority : int

QPickingSettings::pickResultModeQPickingSettings::NearestPriorityPick 으로 설정했을 때 우선순위에 따라 선택 결과를 필터링할 때 사용할 우선순위입니다.

액세스 기능:

int priority() const
void setPriority(int priority)

알림 신호:

void priorityChanged(int priority)

멤버 함수 문서

[signal] void QObjectPicker::clicked(Qt3DRender::QPickEvent *pick)

이 신호는 pickAttribute 속성으로 정의된 바운딩 볼륨이 마우스 클릭의 광선과 교차할 때 발생하며 QPickEvent pick 이벤트에 대한 세부 정보가 포함되어 있습니다.

bool QObjectPicker::containsMouse() const

객체 선택기에 현재 마우스가 포함되어 있으면 true를 반환합니다.

참고: 프로퍼티 containsMouse의 Getter 함수입니다.

[signal] void QObjectPicker::entered()

이 신호는 pickAttribute 속성으로 정의된 경계 볼륨이 볼륨에 들어오는 마우스의 광선과 교차할 때 방출됩니다.

[signal] void QObjectPicker::exited()

이 신호는 pickAttribute 속성으로 정의된 바운딩 볼륨이 볼륨을 빠져나가는 광선과 교차할 때 방출됩니다.

bool QObjectPicker::isDragEnabled() const

드래그가 활성화되면 참을 반환합니다.

참고: 속성에 대한 게터 함수 dragEnabled.

bool QObjectPicker::isHoverEnabled() const

호버링이 활성화되면 참을 반환합니다.

참고: 속성에 대한 게터 함수 hoverEnabled.

[signal] void QObjectPicker::moved(Qt3DRender::QPickEvent *pick)

이 신호는 버튼을 누른 상태에서 마우스 이동 시 pickAttribute 속성으로 정의된 바운딩 볼륨이 광선과 교차할 때 발생하며 QPickEvent pick 이벤트에 대한 세부 정보가 포함되어 있습니다.

[signal] void QObjectPicker::pressed(Qt3DRender::QPickEvent *pick)

이 신호는 pickAttribute 속성으로 정의된 바운딩 볼륨이 마우스에서 광선과 교차할 때 발생하며 QPickEvent pick 이벤트에 대한 세부 정보가 포함되어 있습니다.

[signal] void QObjectPicker::released(Qt3DRender::QPickEvent *pick)

이 신호는 pickAttribute 속성으로 정의된 바운딩 볼륨이 마우스 릴리스에서 광선과 교차할 때 발생하며 QPickEvent pick 이벤트에 대한 세부 정보가 포함되어 있습니다.

[slot] void QObjectPicker::setDragEnabled(bool dragEnabled)

dragEnabled 속성을 다음과 같이 설정합니다. dragEnabled

참고: 속성에 대한 설정자 함수 dragEnabled.

isDragEnabled()도 참조하세요 .

[slot] void QObjectPicker::setHoverEnabled(bool hoverEnabled)

hoverEnabled 속성을 다음과 같이 설정합니다. hoverEnabled

참고: 속성에 대한 설정자 함수 hoverEnabled.

isHoverEnabled()도 참조하세요 .

[slot] void QObjectPicker::setPriority(int priority)

피커의 우선순위를 priority 로 설정합니다. QPickingSettings 의 피킹 결과 모드가 QPickingSettings::NearestPriorityPick 로 설정되어 있을 때 사용됩니다. 피킹 결과는 가장 높은 우선순위와 최단 피킹 거리를 기준으로 정렬됩니다.

참고: 속성의 설정자 함수 priority.

priority()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.