Sur cette page

Qt3DRender::QObjectPicker Class

class Qt3DRender::QObjectPicker

La classe QObjectPicker instancie un composant qui peut être utilisé pour interagir avec une QEntity par un processus connu sous le nom de picking. Plus d'informations...

En-tête : #include <QObjectPicker>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : ObjectPicker
Hérite : Qt3DCore::QComponent
Statut : Déclassé

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 et de caméra, picking lance un rayon à travers la scène pour trouver les entités dont le volume de délimitation intersecte le rayon. Le volume de délimitation est calculé à l'aide des valeurs du 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 délimité défini par la propriété pickAttribute croise un rayon.

La plupart des signaux sont accompagnés d'une instance 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 lorsque la souris est pressée et relâchée. Si l'option "drag" est activée, les requêtes sont également effectuées à chaque déplacement de la souris lorsque l'un des boutons est enfoncé. Si le survol est activé, les requêtes sont effectuées à chaque mouvement de la souris, même si aucun bouton n'est enfoncé.

Pour des requêtes généralisées sur la projection de rayons, voir 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 éloigné de la caméra affecte le prélèvement et produit des résultats incorrects en raison de la précision en virgule flottante si elle est supérieure à ~100 000.

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

Documentation sur les propriétés

[read-only] containsMouse : bool

Spécifie 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 la fonction "glisser" est activée

Fonctions d'accès :

bool isDragEnabled() const
void setDragEnabled(bool dragEnabled)

Signal de notification :

void dragEnabledChanged(bool dragEnabled)

hoverEnabled : bool

Spécifie si le survol est activé

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 sélecteur d'objets est actuellement activé.

Fonctions d'accès :

bool isPressed() const

Signal de notification :

void pressedChanged(bool pressed)

priority : int

La priorité à utiliser pour filtrer les résultats de la sélection par priorité lorsque QPickingSettings::pickResultMode est défini sur QPickingSettings::NearestPriorityPick.

Fonctions d'accès :

int priority() const
void setPriority(int priority)

Signal de notification :

void priorityChanged(int priority)

Member Function Documentation

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

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

bool QObjectPicker::containsMouse() const

Renvoie un résultat positif si le sélecteur d'objets contient actuellement la souris.

Remarque : fonction Getter pour la propriété containsMouse.

[signal] void QObjectPicker::entered()

Ce signal est émis lorsque le volume délimité défini par la propriété pickAttribute croise un rayon de la souris entrant dans le volume.

[signal] void QObjectPicker::exited()

Ce signal est émis lorsque le volume délimité défini par la propriété pickAttribute croise un rayon sur le rayon sortant du volume.

bool QObjectPicker::isDragEnabled() const

Retourne vrai si le glissement est activé

Note : Fonction Getter pour la propriété dragEnabled.

bool QObjectPicker::isHoverEnabled() const

Retourne vrai si le survol est activé

Note : Fonction Getter pour la propriété hoverEnabled.

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

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

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

Ce signal est émis lorsque le volume délimité défini par la propriété pickAttribute croise un rayon sur une pression de la souris. QPickEvent pick contient les détails de l'événement.

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

Ce signal est émis lorsque le volume délimité défini par la propriété pickAttribute croise un rayon sur une libération de la souris. Le site QPickEvent pick contient les détails de l'événement.

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

Fixe la propriété dragEnabled à dragEnabled

Note : Fonction de définition de la propriété dragEnabled.

Voir aussi isDragEnabled().

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

Fixe la propriété hoverEnabled à hoverEnabled

Note : Fonction de définition de la propriété hoverEnabled.

Voir aussi isHoverEnabled().

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

Définit la priorité du préparateur de commandes sur priority. Cette fonction est utilisée lorsque le mode de résultat du prélèvement sur QPickingSettings est défini sur QPickingSettings::NearestPriorityPick. Les résultats du prélèvement sont triés en fonction de la priorité la plus élevée et de la distance de prélèvement la plus courte.

Remarque : fonction de 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.