- Qt 6.4
- Qt 3D
- C++ Classes
- Qt3DRender
- QPickEvent
- Qt 6.4.3 Reference Documentation

# QPickEvent Class

class Qt3DRender::QPickEvent

The QPickEvent class holds information when an object is picked. More...

Header: | #include <QPickEvent>
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: | QT += 3drender
Since: | Qt 5.7
Instantiated By: | PickEvent
Inherits: | QObject
Inherited By: | Qt3DRender::QPickLineEvent, Qt3DRender::QPickPointEvent, and Qt3DRender::QPickTriangleEvent

- List of all members, including inherited members

## Public Types

enum | Buttons { LeftButton, RightButton, MiddleButton, BackButton, NoButton }
enum | Modifiers { NoModifier, ShiftModifier, ControlModifier, AltModifier, MetaModifier, KeypadModifier }

## Properties

accepted : bool button : const Qt3DRender::QPickEvent::Buttons buttons : const int distance : const float entity : Qt3DCore::QEntity* const | localIntersection : const QVector3D modifiers : const int position : const QPointF viewport : Qt3DRender::QViewport* const worldIntersection : const QVector3D

## Public Functions

| QPickEvent(const QPointF &position, const QVector3D &worldIntersection, const QVector3D &localIntersection, float distance, Qt3DRender::QPickEvent::Buttons button, int buttons, int modifiers)
| QPickEvent(const QPointF &position, const QVector3D &intersection, const QVector3D &localIntersection, float distance)
| QPickEvent()
Qt3DRender::QPickEvent::Buttons | button() const
int | buttons() const
float | distance() const
Qt3DCore::QEntity * | entity() const
bool | isAccepted() const
QVector3D | localIntersection() const
int | modifiers() const
QPointF | position() const
Qt3DRender::QViewport * | viewport() const
QVector3D | worldIntersection() const

## Public Slots

void | setAccepted(bool accepted)

## Signals

void | acceptedChanged(bool accepted)

## Detailed Description

This is received as a parameter in most of the QObjectPicker component signals when picking succeeds.

See also QPickingSettings, QPickTriangleEvent, and QObjectPicker.

## Member Type Documentation

### enum QPickEvent::Buttons

Constant | Value
--- | ---
`Qt3DRender::QPickEvent::LeftButton` | `Qt::LeftButton`
`Qt3DRender::QPickEvent::RightButton` | `Qt::RightButton`
`Qt3DRender::QPickEvent::MiddleButton` | `Qt::MiddleButton`
`Qt3DRender::QPickEvent::BackButton` | `Qt::BackButton`
`Qt3DRender::QPickEvent::NoButton` | `Qt::NoButton`

### enum QPickEvent::Modifiers

Constant | Value
--- | ---
`Qt3DRender::QPickEvent::NoModifier` | `Qt::NoModifier`
`Qt3DRender::QPickEvent::ShiftModifier` | `Qt::ShiftModifier`
`Qt3DRender::QPickEvent::ControlModifier` | `Qt::ControlModifier`
`Qt3DRender::QPickEvent::AltModifier` | `Qt::AltModifier`
`Qt3DRender::QPickEvent::MetaModifier` | `Qt::MetaModifier`
`Qt3DRender::QPickEvent::KeypadModifier` | `Qt::KeypadModifier`

## Property Documentation

### accepted : bool

Specifies if event has been accepted

Access functions:

bool | isAccepted() const
void | setAccepted(bool accepted)

Notifier signal:

void | acceptedChanged(bool accepted)

### `[read-only]` button : const Qt3DRender::QPickEvent::Buttons

Specifies mouse button that caused the event

Access functions:

Qt3DRender::QPickEvent::Buttons | button() const

### `[read-only]` buttons : const int

Specifies state of the mouse buttons for the event

Access functions:

int | buttons() const

### `[read-only]` distance : const float

Specifies the distance of the hit to the camera

Access functions:

float | distance() const

### `[read-only, since 5.14]` entity : Qt3DCore::QEntity* const

The entity that the picked geometry belongs to.

If the object picker is not attached to a leaf node in the scene graph, this is useful to find which child entity was actually picked.

This property was introduced in Qt 5.14.

Access functions:

Qt3DCore::QEntity * | entity() const

### `[read-only]` localIntersection : const QVector3D

Specifies the coordinates of the hit in the local coordinate system of the picked entity

Access functions:

QVector3D | localIntersection() const

### `[read-only]` modifiers : const int

Specifies state of the mouse buttons for the event

Access functions:

int | modifiers() const

### `[read-only]` position : const QPointF

Specifies the mouse position with respect to the render area (window or quick item)

Access functions:

QPointF | position() const

### `[read-only, since 5.14]` viewport : Qt3DRender::QViewport* const

The viewport in which this event originated. A null value means the event originated from a frame graph branch without a QViewport. If a frame graph branch has a Viewport inside a Viewport the property will contain the leaf viewport.

This property was introduced in Qt 5.14.

Access functions:

Qt3DRender::QViewport * | viewport() const

### `[read-only]` worldIntersection : const QVector3D

Specifies the coordinates of the hit in world coordinate system

Access functions:

QVector3D | worldIntersection() const

## Member Function Documentation

### QPickEvent::QPickEvent(const QPointF &position, const QVector3D &worldIntersection, const QVector3D &localIntersection, float distance, Qt3DRender::QPickEvent::Buttons button, int buttons, int modifiers)

Constructs a new QPickEvent with the given parameters: position, worldIntersection, localIntersection, distance, button, buttons and modifiers

### QPickEvent::QPickEvent(const QPointF &position, const QVector3D &intersection, const QVector3D &localIntersection, float distance)

Constructs a new QPickEvent with the given parameters: position, intersection, localIntersection and distance

### QPickEvent::QPickEvent()

Constructs a new QPickEvent.

### `[slot]` void QPickEvent::setAccepted(bool accepted)

QPickEvent::setAccepted set if the event has been accepted to accepted

Note: Setter function for property accepted.

See also isAccepted().

### Qt3DRender::QPickEvent::Buttons QPickEvent::button() const

QPickEvent::button Returns mouse button that caused the event

Note: Getter function for property button.

### int QPickEvent::buttons() const

QPickEvent::buttons Returns bitfield to be used to check for mouse buttons that may be accompanying the pick event.

Note: Getter function for property buttons.

### float QPickEvent::distance() const

QPickEvent::distance Returns distance from camera to pick point

Note: Getter function for property distance.

### bool QPickEvent::isAccepted() const

QPickEvent::isAccepted Returns true if the event has been accepted

Note: Getter function for property accepted.

### QVector3D QPickEvent::localIntersection() const

QPickEvent::localIntersection Returns coordinates of the hit in the local coordinate system of the picked entity

Note: Getter function for property localIntersection.

### int QPickEvent::modifiers() const

QPickEvent::modifiers Returns bitfield to be used to check for keyboard modifiers that may be accompanying the pick event.

Note: Getter function for property modifiers.

### QPointF QPickEvent::position() const

QPickEvent::position Returns mouse pointer coordinate of the pick query

Note: Getter function for property position.

### QVector3D QPickEvent::worldIntersection() const

QPickEvent::worldIntersection Returns coordinates of the hit in world coordinate system

Note: Getter function for property worldIntersection.