Qt3DRender::QObjectPicker Class
class Qt3DRender::QObjectPickerDie Klasse `QObjectPicker` instanziiert eine Komponente, mit der über einen als „Picking“ bezeichneten Vorgang mit einer `QEntity` interagiert werden kann. Mehr...
| Header: | #include <qobjectpicker.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | ObjectPicker |
| Erbt von: | Qt3DCore::QComponent |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Eigenschaften
|
Öffentliche Funktionen
| bool | containsMouse() const |
| bool | isDragEnabled() const |
| bool | isHoverEnabled() const |
| bool | isPressed() const |
| int | priority() const |
Öffentliche Slots
| void | setDragEnabled(bool dragEnabled) |
| void | setHoverEnabled(bool hoverEnabled) |
| void | setPriority(int priority) |
Signale
| 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) |
Detaillierte Beschreibung
Für jede Kombination aus Ansichtsfenster und Kamera wird beim Auswählen ein Strahl durch die Szene geworfen, um Objekte zu finden, deren Begrenzungsvolumen den Strahl schneidet. Das Begrenzungsvolumen wird anhand der Werte im Attributpuffer berechnet, der durch das Attribut „boundingVolumePositionAttribute“ der Geometrie festgelegt wird.
Die Signale „ pressed()“, „ released()“, „ clicked()“, „ moved()“, „ entered()“ und „ exited()“ werden ausgelöst, wenn das durch die Eigenschaft „pickAttribute“ definierte Begrenzungsvolumen einen Strahl schneidet.
Die meisten Signale enthalten eine Instanz von ` QPickEvent `. Ist `QPickingSettings::pickMode()` auf ` QPickingSettings::TrianglePicking` gesetzt, ist der tatsächliche Typ des Auswahlparameters ` QPickTriangleEvent`.
Pick-Abfragen werden beim Drücken und Loslassen der Maustaste durchgeführt. Ist das Ziehen aktiviert, finden Abfragen zudem bei jeder Mausbewegung statt, solange eine Taste gedrückt ist. Ist das Hover-Verhalten aktiviert, finden Abfragen bei jeder Mausbewegung statt, auch wenn keine Taste gedrückt ist.
Informationen zu allgemeinen Ray-Casting-Abfragen finden Sie unter Qt3DRender::QRayCaster und Qt3DRender::QScreenRayCaster.
Hinweis: Instanzen dieser Komponente sollten nicht gemeinsam genutzt werden; die Nichtbeachtung dieser Bedingung führt höchstwahrscheinlich zu undefiniertem Verhalten.
Hinweis: Der Wert der hinteren Ebene der Kamera beeinflusst die Auswahl und führt aufgrund der Gleitkommagenauigkeit zu falschen Ergebnissen, wenn er größer als ~100 000 ist.
Siehe auch Qt3DRender::QPickingSettings, Qt3DCore::QGeometry, Qt3DCore::QAttribute, Qt3DRender::QPickEvent, Qt3DRender::QPickTriangleEvent und Qt3DRender::QNoPicking.
Dokumentation zu Eigenschaften
[read-only] containsMouse : bool
Gibt an, ob der Objekt-Picker derzeit die Maus enthält
Zugriffsfunktionen:
| bool | containsMouse() const |
Benachrichtigungssignal:
| void | containsMouseChanged(bool containsMouse) |
dragEnabled : bool
Gibt an, ob das Ziehen aktiviert ist
Zugriffsfunktionen:
| bool | isDragEnabled() const |
| void | setDragEnabled(bool dragEnabled) |
Benachrichtigungssignal:
| void | dragEnabledChanged(bool dragEnabled) |
hoverEnabled : bool
Gibt an, ob die Hover-Funktion aktiviert ist
Zugriffsfunktionen:
| bool | isHoverEnabled() const |
| void | setHoverEnabled(bool hoverEnabled) |
Benachrichtigungssignal:
| void | hoverEnabledChanged(bool hoverEnabled) |
[read-only] pressed : bool
Gibt an, ob die Objekt-Auswahltaste derzeit gedrückt ist
Zugriffsfunktionen:
| bool | isPressed() const |
Benachrichtigungssignal:
| void | pressedChanged(bool pressed) |
priority : int
Die Priorität, die beim Filtern der Kommissionierergebnisse nach Priorität verwendet werden soll, wenn „ QPickingSettings::pickResultMode “ auf „ QPickingSettings::NearestPriorityPick “ gesetzt ist.
Zugriffsfunktionen:
| int | priority() const |
| void | setPriority(int priority) |
Benachrichtigungssignal:
| void | priorityChanged(int priority) |
Dokumentation der Mitgliedsfunktionen
[signal] void QObjectPicker::clicked(Qt3DRender::QPickEvent *pick)
Dieses Signal wird ausgelöst, wenn das durch die Eigenschaft „pickAttribute“ definierte Begrenzungsvolumen bei einem Mausklick einen Strahl schneidet. Das QPickEvent- pick enthält Details zu diesem Ereignis.
bool QObjectPicker::containsMouse() const
Gibt „true“ zurück, wenn der Objekt-Picker derzeit die Maus enthält
Hinweis: Getter-Funktion für die Eigenschaft `containsMouse`.
[signal] void QObjectPicker::entered()
Dieses Signal wird ausgelöst, wenn das durch die Eigenschaft „pickAttribute“ definierte Begrenzungsvolumen einen Strahl der Maus schneidet, der in das Volumen eintritt.
[signal] void QObjectPicker::exited()
Dieses Signal wird ausgelöst, wenn das durch die Eigenschaft „pickAttribute“ definierte Begrenzungsvolumen einen Strahl schneidet, der aus dem Volumen austritt.
bool QObjectPicker::isDragEnabled() const
Gibt „true“ zurück, wenn das Ziehen aktiviert ist
Hinweis: Getter -Funktion für die Eigenschaft „ dragEnabled “.
bool QObjectPicker::isHoverEnabled() const
Gibt „true“ zurück, wenn die Hover-Funktion aktiviert ist
Hinweis: Getter -Funktion für die Eigenschaft „ hoverEnabled “.
[signal] void QObjectPicker::moved(Qt3DRender::QPickEvent *pick)
Dieses Signal wird ausgelöst, wenn sich das durch die Eigenschaft „pickAttribute“ definierte Begrenzungsvolumen bei einer Mausbewegung mit gedrückter Taste mit einem Strahl schneidet. Das QPickEvent- pick enthält Details zu dem Ereignis.
[signal] void QObjectPicker::pressed(Qt3DRender::QPickEvent *pick)
Dieses Signal wird ausgelöst, wenn das durch die Eigenschaft „pickAttribute“ definierte Begrenzungsvolumen einen Strahl schneidet. Bei einem Mausklick enthält das QPickEvent- pick, das bei diesem Ereignis ausgelöst wird, Details zum Ereignis.
[signal] void QObjectPicker::released(Qt3DRender::QPickEvent *pick)
Dieses Signal wird ausgelöst, wenn das durch die Eigenschaft „pickAttribute“ definierte Begrenzungsvolumen beim Loslassen der Maustaste einen Strahl schneidet. Das QPickEvent- pick enthält Details zu diesem Ereignis.
[slot] void QObjectPicker::setDragEnabled(bool dragEnabled)
Setzt die Eigenschaft „ dragEnabled “ auf dragEnabled
Hinweis: Setter -Funktion für die Eigenschaft „ dragEnabled “.
Siehe auch isDragEnabled().
[slot] void QObjectPicker::setHoverEnabled(bool hoverEnabled)
Setzt die Eigenschaft „ hoverEnabled “ auf hoverEnabled
Hinweis: Setter -Funktion für die Eigenschaft „ hoverEnabled “.
Siehe auch isHoverEnabled().
[slot] void QObjectPicker::setPriority(int priority)
Legt die Priorität des Kommissionierers auf „ priority “ fest. Dies wird verwendet, wenn der Modus für die Kommissionierergebnisse in den QPickingSettings auf „ QPickingSettings::NearestPriorityPick “ eingestellt ist. Die Kommissionierergebnisse werden nach der höchsten Priorität und der kürzesten Kommissionierstrecke sortiert.
Hinweis: Setter -Funktion für die Eigenschaft „ priority “.
Siehe auch „ 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.