Qt3DInput::QMouseHandler Class

class Qt3DInput::QMouseHandler

当连接到QMouseDevice 实例时,提供一种获得鼠标事件通知的方法。更多

头文件: #include <Qt3DInput/QMouseHandler>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3dinput)
target_link_libraries(mytarget PRIVATE Qt6::3dinput)
qmake: QT += 3dinput
在 QML 中: MouseHandler
继承: Qt3DCore::QComponent
状态:已废弃

属性

公共功能

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

公共插槽

void setSourceDevice(Qt3DInput::QMouseDevice *mouseDevice)

信号

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)

详细说明

注意: QMouseHandler 组件不应被共享,不遵守该条件很可能会导致未定义的行为。

另请参阅 QMouseDeviceQMouseEvent

属性文档

[read-only] containsMouse : const bool

如果QMouseHandler 当前包含鼠标,则保持true

注: 在这种情况下,包含指的是源自鼠标的射线与聚合当前QMouseHandler 实例组件的Qt3DCore::QEntity 相交。

访问功能:

bool containsMouse() const

通知信号:

void containsMouseChanged(bool containsMouse)

sourceDevice : Qt3DInput::QMouseDevice*

保存QMouseHandler 实例的当前鼠标源设备。

访问功能:

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

Notifier 信号:

void sourceDeviceChanged(Qt3DInput::QMouseDevice *mouseDevice)

成员函数 文档

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

构建一个新的 QMouseHandler 实例,其父级parent

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

点击鼠标按钮时会发出该信号,事件详情包含在mouse 中。

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

双击鼠标按钮时会发出该信号,事件详情包含在mouse 中。

[signal] void QMouseHandler::entered()

[signal] void QMouseHandler::exited()

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

当鼠标位置发生变化时会发出该信号,事件细节包含在mouse

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

当鼠标按键被按住时会发出该信号,事件细节包含在mouse

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

当鼠标按键被按下时会发出该信号,事件细节包含在mouse

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

释放鼠标按钮时会发出该信号,事件详情包含在mouse

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

QMouseHandler 实例的鼠标设备设置为mouseDevice

注: 属性sourceDevice 的设置函数。

另请参阅 sourceDevice().

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

使用鼠标滚轮时会发出该信号,事件细节包含在wheel

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