QAbstract3DInputHandler Class

Die Basisklasse für Implementierungen von Eingabehandlern. Mehr...

Kopfzeile: #include <QAbstract3DInputHandler>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Since: QtDataVisualization 1.0
In QML: AbstractInputHandler3D
Vererbt: QObject
Vererbt von:

Q3DInputHandler

Öffentliche Typen

enum InputView { InputViewNone, InputViewOnPrimary, InputViewOnSecondary }

Eigenschaften

Öffentliche Funktionen

virtual ~QAbstract3DInputHandler()
QPoint inputPosition() const
QAbstract3DInputHandler::InputView inputView() const
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)
virtual void mousePressEvent(QMouseEvent *event, const QPoint &mousePos)
virtual void mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos)
Q3DScene *scene() const
void setInputPosition(const QPoint &position)
void setInputView(QAbstract3DInputHandler::InputView inputView)
void setScene(Q3DScene *scene)
virtual void touchEvent(QTouchEvent *event)
virtual void wheelEvent(QWheelEvent *event)

Signale

void inputViewChanged(QAbstract3DInputHandler::InputView view)
void positionChanged(const QPoint &position)
void sceneChanged(Q3DScene *scene)

Geschützte Funktionen

QAbstract3DInputHandler(QObject *parent = nullptr)
int prevDistance() const
QPoint previousInputPos() const
void setPrevDistance(int distance)
void setPreviousInputPos(const QPoint &position)

Detaillierte Beschreibung

QAbstract3DInputHandler ist die Basisklasse, die von verschiedenen Input-Handling-Implementierungen untergeordnet wird, die Input-Events entgegennehmen und in Kamera- und Lichtbewegungen umsetzen. Input-Handler übersetzen auch rohe Eingabeereignisse in Slicing- und Selektionsereignisse in der Szene.

Dokumentation der Mitgliedstypen

enum QAbstract3DInputHandler::InputView

Vordefinierte Eingabeansichten für maus- und berührungsbasierte Eingabehandler.

KonstanteWertBeschreibung
QAbstract3DInputHandler::InputViewNone0Maus oder Berührung nicht in einer Ansicht.
QAbstract3DInputHandler::InputViewOnPrimary1Maus- oder Berührungseingabe, die auf dem primären Ansichtsbereich empfangen wird. Wenn die sekundäre Ansicht angezeigt wird, wenn inputView zu InputViewOnPrimary wird, wird die sekundäre Ansicht geschlossen.
QAbstract3DInputHandler::InputViewOnSecondary2Maus- oder Berührungseingabe auf dem sekundären Ansichtsbereich empfangen.

Dokumentation der Eigenschaft

inputPosition : QPoint

Diese Eigenschaft enthält die letzte Eingabeposition auf der Grundlage der verarbeiteten Eingabeereignisse.

Zugriffsfunktionen:

QPoint inputPosition() const
void setInputPosition(const QPoint &position)

Melder-Signal:

void positionChanged(const QPoint &position)

inputView : InputView

Diese Eigenschaft enthält die aktuelle enumerierte Eingabeansicht, die auf der Ansicht der verarbeiteten Eingabeereignisse basiert.

Einer der InputView Aufzählungswerte.

Wenn sich die Ansicht ändert, wird das Signal inputViewChanged ausgegeben.

Zugriffsfunktionen:

QAbstract3DInputHandler::InputView inputView() const
void setInputView(QAbstract3DInputHandler::InputView inputView)

Melder-Signal:

void inputViewChanged(QAbstract3DInputHandler::InputView view)

Siehe auch InputView.

scene : Q3DScene*

Diese Eigenschaft enthält die 3D-Szene, die dieser abstrakte Input-Handler steuert.

Ein Input-Handler kann eine Szene steuern. Das Setzen einer Szene auf einen Input-Handler überträgt nicht den Besitz an der Szene.

Zugriffsfunktionen:

Q3DScene *scene() const
void setScene(Q3DScene *scene)

Benachrichtigungssignal:

void sceneChanged(Q3DScene *scene)

Member Function Dokumentation

[explicit protected] QAbstract3DInputHandler::QAbstract3DInputHandler(QObject *parent = nullptr)

Konstruiert die Basisklasse. Ein optionaler parent Parameter kann angegeben werden und wird dann an den QObject Konstruktor übergeben.

[virtual noexcept] QAbstract3DInputHandler::~QAbstract3DInputHandler()

Zerstört die Basisklasse.

[virtual] void QAbstract3DInputHandler::mouseDoubleClickEvent(QMouseEvent *event)

Überschreiben Sie dies, um Maus-Doppelklick-Ereignisse zu behandeln. Das Maus-Doppelklick-Ereignis wird in event angegeben.

[virtual] void QAbstract3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)

Überschreiben Sie dies, um Mausbewegungsereignisse zu behandeln. Das Mausbewegungsereignis wird in event angegeben und die Mausposition in mousePos.

[virtual] void QAbstract3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos)

Überschreiben Sie dies, um Mausdruckereignisse zu behandeln. Das Maustastenereignis wird in event und die Mausposition in mousePos angegeben.

[virtual] void QAbstract3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos)

Überschreiben Sie dies, um Mausfreigabeereignisse zu behandeln. Das Mausfreigabe-Ereignis wird in event angegeben und die Mausposition in mousePos.

[protected] int QAbstract3DInputHandler::prevDistance() const

Gibt die Manhattan-Länge zwischen den letzten beiden Eingabepositionen zurück.

Siehe auch setPrevDistance().

[protected] QPoint QAbstract3DInputHandler::previousInputPos() const

Gibt die vorherige Eingabeposition zurück.

Siehe auch setPreviousInputPos().

[protected] void QAbstract3DInputHandler::setPrevDistance(int distance)

Legt die distance (Manhattan-Länge) zwischen den letzten beiden Eingabepositionen fest.

Siehe auch prevDistance().

[protected] void QAbstract3DInputHandler::setPreviousInputPos(const QPoint &position)

Setzt die vorherige Eingabeposition auf den durch position angegebenen Punkt.

Siehe auch previousInputPos().

[virtual] void QAbstract3DInputHandler::touchEvent(QTouchEvent *event)

Überschreiben Sie dies, um Touch-Eingabe-Ereignisse zu behandeln. Das Berührungsereignis wird in event angegeben.

[virtual] void QAbstract3DInputHandler::wheelEvent(QWheelEvent *event)

Überschreiben Sie dies, um Rad-Ereignisse zu behandeln. Das Rad-Ereignis wird im event angegeben.

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