En esta página

Qt3DRender::QObjectPicker Class

class Qt3DRender::QObjectPicker

La clase QObjectPicker instancia un componente que puede ser utilizado para interactuar con una QEntity mediante un proceso conocido como picking. Más...

Cabecera: #include <QObjectPicker>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
En QML: ObjectPicker
Hereda: Qt3DCore::QComponent
Status: Obsoleto

Propiedades

Funciones públicas

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

Ranuras públicas

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

Señales

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)

Descripción Detallada

Para cada combinación de vista y cámara, picking lanza un rayo a través de la escena para encontrar entidades cuyo volumen límite intersecte el rayo. El volumen delimitador se calcula utilizando los valores del búfer de atributos especificado por el atributo boundingVolumePositionAttribute de la geometría.

Las señales pressed(), released(), clicked(), moved(), entered() y exited() se emiten cuando el volumen delimitador definido por la propiedad pickAttribute se cruza con un rayo.

La mayoría de las señales llevan una instancia QPickEvent. Si QPickingSettings::pickMode() tiene el valor QPickingSettings::TrianglePicking, el tipo real del parámetro pick será QPickTriangleEvent.

Las consultas pick se realizan al pulsar y soltar el ratón. Si la opción de arrastrar está activada, las consultas también se realizan en cada movimiento del ratón mientras cualquier botón está pulsado. Si está activado el hover, las consultas se realizan en cada movimiento del ratón aunque no haya ningún botón pulsado.

Para consultas generalizadas sobre la proyección de rayos, véase Qt3DRender::QRayCaster y Qt3DRender::QScreenRayCaster.

Nota: Las instancias de este componente no deben ser compartidas, el no respetar esta condición probablemente resultará en un comportamiento indefinido.

Nota: El valor del plano lejano de la cámara afecta al picking y produce resultados incorrectos debido a la precisión en coma flotante si es mayor de ~100 000.

Ver también Qt3DRender::QPickingSettings, Qt3DCore::QGeometry, Qt3DCore::QAttribute, Qt3DRender::QPickEvent, Qt3DRender::QPickTriangleEvent, y Qt3DRender::QNoPicking.

Documentación de propiedades

[read-only] containsMouse : bool

Especifica si el selector de objetos contiene actualmente el ratón

Funciones de acceso:

bool containsMouse() const

Señal del notificador:

void containsMouseChanged(bool containsMouse)

dragEnabled : bool

Especifica si el arrastre está activado

Funciones de acceso:

bool isDragEnabled() const
void setDragEnabled(bool dragEnabled)

Señal del notificador:

void dragEnabledChanged(bool dragEnabled)

hoverEnabled : bool

Especifica si el hover está activado

Funciones de acceso:

bool isHoverEnabled() const
void setHoverEnabled(bool hoverEnabled)

Señal del notificador:

void hoverEnabledChanged(bool hoverEnabled)

[read-only] pressed : bool

Especifica si el selector de objetos está actualmente pulsado

Funciones de acceso:

bool isPressed() const

Señal del notificador:

void pressedChanged(bool pressed)

priority : int

La prioridad que se utilizará al filtrar los resultados de la selección por prioridad cuando QPickingSettings::pickResultMode esté configurado como QPickingSettings::NearestPriorityPick.

Funciones de acceso:

int priority() const
void setPriority(int priority)

Señal del notificador:

void priorityChanged(int priority)

Documentación de la función miembro

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

Esta señal se emite cuando el volumen delimitador definido por la propiedad pickAttribute se cruza con un rayo al hacer clic con el ratón el QPickEvent pick contiene detalles del evento.

bool QObjectPicker::containsMouse() const

Devuelve true si el selector de objetos contiene actualmente el ratón

Nota: Función Getter para la propiedad containsMouse.

[signal] void QObjectPicker::entered()

Esta señal se emite cuando el volumen delimitador definido por la propiedad pickAttribute se cruza con un rayo del ratón que entra en el volumen.

[signal] void QObjectPicker::exited()

Esta señal se emite cuando el volumen delimitador definido por la propiedad pickAttribute se cruza con un rayo en el rayo que sale del volumen.

bool QObjectPicker::isDragEnabled() const

Devuelve true si el arrastre está habilitado

Nota: Función Getter para la propiedad dragEnabled.

bool QObjectPicker::isHoverEnabled() const

Devuelve true si está activado el hover

Nota: Función Getter para la propiedad hoverEnabled.

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

Esta señal se emite cuando el volumen delimitador definido por la propiedad pickAttribute se cruza con un rayo en un movimiento del ratón con un botón pulsado el QPickEvent pick contiene detalles del evento.

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

Esta señal se emite cuando el volumen delimitador definido por la propiedad pickAttribute se cruza con un rayo al pulsar con el ratón el QPickEvent pick contiene detalles del evento.

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

Esta señal se emite cuando el volumen delimitador definido por la propiedad pickAttribute se cruza con un rayo en un lanzamiento del ratón el QPickEvent pick contiene detalles del evento.

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

Establece la propiedad dragEnabled a dragEnabled

Nota: Función Setter para la propiedad dragEnabled.

Véase también isDragEnabled().

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

Establece la propiedad hoverEnabled a hoverEnabled

Nota: Función Setter para la propiedad hoverEnabled.

Véase también isHoverEnabled().

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

Establece la prioridad del recogedor en priority. Se utiliza cuando el modo de resultado de recogida en QPickingSettings se establece en QPickingSettings::NearestPriorityPick. Los resultados de picking se ordenan según la prioridad más alta y la distancia de picking más corta.

Nota: Función Setter para la propiedad priority.

Véase también priority().

© 2026 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.