Sur cette page

Qt3DRender::QObjectPicker Class

class Qt3DRender::QObjectPicker

La classe QObjectPicker instancie un composant permettant d'interagir avec une QEntity via un processus appelé « picking ». En savoir plus...

En-tête : #include <qobjectpicker.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : ObjectPicker
Hérite de : Qt3DCore::QComponent
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

Propriétés

Fonctions publiques

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

Emplacements publics

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

Signaux

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)

Description détaillée

Pour chaque combinaison de fenêtre d'affichage et de caméra, la sélection projette un rayon à travers la scène afin de trouver les entités dont le volume englobant coupe ce rayon. Le volume englobant est calculé à partir des valeurs contenues dans le tampon d'attributs spécifié par l'attribut boundingVolumePositionAttribute de la géométrie.

Les signaux pressed(), released(), clicked(), moved(), entered() et exited() sont émis lorsque le volume englobant défini par la propriété pickAttribute croise un rayon.

La plupart des signaux transportent une instance de ` QPickEvent `. Si `QPickingSettings::pickMode()` est défini sur ` QPickingSettings::TrianglePicking`, le type réel du paramètre de sélection sera ` QPickTriangleEvent`.

Les requêtes de sélection sont effectuées au moment où l’on appuie sur le bouton de la souris et lorsqu’on le relâche. Si le glissement est activé, des requêtes ont également lieu à chaque déplacement de la souris tant qu’un bouton est enfoncé. Si le survol est activé, des requêtes ont lieu à chaque déplacement de la souris, même si aucun bouton n’est enfoncé.

Pour les requêtes de ray casting généralisées, consultez Qt3DRender::QRayCaster et Qt3DRender::QScreenRayCaster.

Remarque : les instances de ce composant ne doivent pas être partagées ; le non-respect de cette condition entraînera très probablement un comportement indéfini.

Remarque : la valeur du plan lointain de la caméra affecte la sélection et produit des résultats incorrects en raison de la précision en virgule flottante si elle est supérieure à environ 100 000.

Voir également Qt3DRender::QPickingSettings, Qt3DCore::QGeometry, Qt3DCore::QAttribute, Qt3DRender::QPickEvent, Qt3DRender::QPickTriangleEvent et Qt3DRender::QNoPicking.

Documentation relative aux biens immobiliers

[read-only] containsMouse : bool

Indique si le sélecteur d'objets contient actuellement la souris

Fonctions d'accès :

bool containsMouse() const

Signal de notification :

void containsMouseChanged(bool containsMouse)

dragEnabled : bool

Indique si le glisser-déposer est activé

Fonctions d'accès :

bool isDragEnabled() const
void setDragEnabled(bool dragEnabled)

Signal de notification :

void dragEnabledChanged(bool dragEnabled)

hoverEnabled : bool

Indique si la fonction « survol » est activée

Fonctions d'accès :

bool isHoverEnabled() const
void setHoverEnabled(bool hoverEnabled)

Signal de notification :

void hoverEnabledChanged(bool hoverEnabled)

[read-only] pressed : bool

Indique si le bouton de sélection d’objet est actuellement enfoncé

Fonctions d’accès :

bool isPressed() const

Signal de notification :

void pressedChanged(bool pressed)

priority : int

Priorité à utiliser lors du filtrage des résultats de sélection par priorité lorsque l'option « QPickingSettings::pickResultMode » est définie sur « QPickingSettings::NearestPriorityPick ».

Fonctions d'accès :

int priority() const
void setPriority(int priority)

Signal de notification :

void priorityChanged(int priority)

Documentation des fonctions membres

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

Ce signal est émis lorsque le volume englobant défini par la propriété `pickAttribute` coupe un rayon lors d'un clic de souris. L'pick `QPickEvent` contient les détails de l'événement.

bool QObjectPicker::containsMouse() const

Renvoie « true » si le sélecteur d'objet contient actuellement la souris

Remarque : fonctiongetter pour la propriété containsMouse.

[signal] void QObjectPicker::entered()

Ce signal est émis lorsque le volume englobant défini par la propriété `pickAttribute` croise un rayon émis par la souris qui pénètre dans ce volume.

[signal] void QObjectPicker::exited()

Ce signal est émis lorsque le volume englobant défini par la propriété `pickAttribute` coupe un rayon sortant de ce volume.

bool QObjectPicker::isDragEnabled() const

Renvoie « true » si le glisser-déposer est activé

Remarque : fonctiongetter pour la propriété dragEnabled.

bool QObjectPicker::isHoverEnabled() const

Renvoie « true » si le survol est activé

Remarque : fonctiongetter pour la propriété « hoverEnabled ».

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

Ce signal est émis lorsque le volume englobant défini par la propriété `pickAttribute` coupe un rayon lors d'un déplacement de la souris avec un bouton enfoncé. L'pick `QPickEvent` contient les détails de l'événement.

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

Ce signal est émis lorsque le volume délimité par la propriété `pickAttribute` coupe un rayon lors d'un clic de souris ; l'pick `QPickEvent` contient les détails de l'événement.

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

Ce signal est émis lorsque le volume englobant défini par la propriété `pickAttribute` coupe un rayon au moment où l'on relâche le bouton de la souris. L'pick de l'événement `QPickEvent` contient les détails de l'événement.

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

Définit la propriété « dragEnabled » sur dragEnabled

Remarque : fonctionde définition de la propriété dragEnabled.

Voir aussi isDragEnabled().

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

Définit la propriété « hoverEnabled » sur hoverEnabled

Remarque : fonctionde définition de la propriété hoverEnabled.

Voir aussi isHoverEnabled().

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

Définit la priorité du sélecteur sur « priority ». Cette option est utilisée lorsque le mode de résultats de prélèvement dans QPickingSettings est défini sur « QPickingSettings::NearestPriorityPick ». Les résultats de prélèvement sont triés par ordre de priorité décroissante et de distance de prélèvement la plus courte.

Remarque : fonctionde définition de la propriété priority.

Voir également 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.