QMouseHandler Class

class Qt3DInput::QMouseHandler

Provides a means of being notified about mouse events when attached to a QMouseDevice instance. More...

Header: #include <Qt3DInput/QMouseHandler>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dinput)
target_link_libraries(mytarget PRIVATE Qt6::3dinput)
qmake: QT += 3dinput
Instantiated By: MouseHandler
Inherits: Qt3DCore::QComponent

Properties

Public Functions

QMouseHandler(Qt3DCore::QNode *parent = nullptr)
bool containsMouse() const
Qt3DInput::QMouseDevice *sourceDevice() const

Public Slots

void setSourceDevice(Qt3DInput::QMouseDevice *mouseDevice)

Signals

void clicked(Qt3DInput::QMouseEvent *mouse)
void containsMouseChanged(bool containsMouse)
void doubleClicked(Qt3DInput::QMouseEvent *mouse)
void entered()
void exited()
void positionChanged(Qt3DInput::QMouseEvent *mouse)
void pressAndHold(Qt3DInput::QMouseEvent *mouse)
void pressed(Qt3DInput::QMouseEvent *mouse)
void released(Qt3DInput::QMouseEvent *mouse)
void sourceDeviceChanged(Qt3DInput::QMouseDevice *mouseDevice)
void wheel(Qt3DInput::QWheelEvent *wheel)

Detailed Description

Note: QMouseHandler components shouldn't be shared, not respecting that condition will most likely result in undefined behaviors.

See also QMouseDevice and QMouseEvent.

Property Documentation

[read-only] containsMouse : const bool

Holds true if the QMouseHandler currently contains the mouse.

Note: In this context, contains mean that the ray originating from the mouse is intersecting with the Qt3DCore::QEntity that aggregates the current QMouseHandler instance component.

Access functions:

bool containsMouse() const

Notifier signal:

void containsMouseChanged(bool containsMouse)

sourceDevice : Qt3DInput::QMouseDevice*

Holds the current mouse source device of the QMouseHandler instance.

Access functions:

Qt3DInput::QMouseDevice *sourceDevice() const
void setSourceDevice(Qt3DInput::QMouseDevice *mouseDevice)

Notifier signal:

void sourceDeviceChanged(Qt3DInput::QMouseDevice *mouseDevice)

Member Function Documentation

[explicit] QMouseHandler::QMouseHandler(Qt3DCore::QNode *parent = nullptr)

Constructs a new QMouseHandler instance with parent parent.

[signal] void QMouseHandler::clicked(Qt3DInput::QMouseEvent *mouse)

This signal is emitted when a mouse button is clicked with the event details being contained within mouse.

[signal] void QMouseHandler::doubleClicked(Qt3DInput::QMouseEvent *mouse)

This signal is emitted when a mouse button is double clicked with the event details being contained within mouse.

[signal] void QMouseHandler::entered()

[signal] void QMouseHandler::exited()

[signal] void QMouseHandler::positionChanged(Qt3DInput::QMouseEvent *mouse)

This signal is emitted when the mouse position changes with the event details being contained within mouse

[signal] void QMouseHandler::pressAndHold(Qt3DInput::QMouseEvent *mouse)

This signal is emitted when a mouse button is pressed and held down with the event details being contained within mouse

[signal] void QMouseHandler::pressed(Qt3DInput::QMouseEvent *mouse)

This signal is emitted when a mouse button is pressed with the event details being contained within mouse

[signal] void QMouseHandler::released(Qt3DInput::QMouseEvent *mouse)

This signal is emitted when a mouse button is released with the event details being contained within mouse

[slot] void QMouseHandler::setSourceDevice(Qt3DInput::QMouseDevice *mouseDevice)

Sets the mouse device of the QMouseHandler instance to mouseDevice.

Note: Setter function for property sourceDevice.

See also sourceDevice().

[signal] void QMouseHandler::wheel(Qt3DInput::QWheelEvent *wheel)

This signal is emitted when the mouse wheel is used with the event details being contained within wheel

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