QAbstract3DInputHandler 类

实现 3D 输入处理器的基类。 更多信息...

头文件 #include <QAbstract3DInputHandler>
CMakefind_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmakeQT += graphs
由以下类实例化 AbstractInputHandler3D
继承 QObject
继承自

Q3DInputHandler

状态技术预览

公共类型

枚举类InputView { None, OnPrimary, OnSecondary }

属性

公共函数

虚拟~QAbstract3DInputHandler()
QPointinputPosition() const
QAbstract3DInputHandler::InputViewinputView() const
虚拟 voidmouseDoubleClickEvent(QMouseEvent *event)
虚拟 voidmouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)
虚拟 voidmousePressEvent(QMouseEvent *event, const QPoint &mousePos)
虚拟 voidmouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos)
Q3DScene *scene() const
voidsetInputPosition(const QPoint &position, bool forceSelection = false)
voidsetInputView(QAbstract3DInputHandler::InputView inputView)
voidsetScene(Q3DScene *scene)
虚拟 voidtouchEvent(QTouchEvent *event)
虚拟 voidwheelEvent(QWheelEvent *event)

公共槽

voidhandleSelection(const QPoint &position)

信号

voidinputViewChanged(QAbstract3DInputHandler::InputView view)
voidpositionChanged(const QPoint &position)
voidsceneChanged(Q3DScene *scene)

受保护的函数

QAbstract3DInputHandler(QObject *parent = nullptr)
intprevDistance() const
QPointpreviousInputPos() const
voidsetPrevDistance(int distance)
voidsetPreviousInputPos(const QPoint &position)

详细描述

QAbstract3DInputHandler 是一个基类,由不同类型的输入处理实现所继承,这些实现能够接收输入事件并将它们转换为摄像头和光的位置。输入处理器还将原始输入事件转换为场景中的切分和选择事件。

成员类型文档

enum class QAbstract3DInputHandler::InputView

基于鼠标和触摸输入处理器的预定义输入视图。

常量描述
QAbstract3DInputHandler::InputView::None0鼠标或触摸未在视图上。
QAbstract3DInputHandler::InputView::OnPrimary1在主要视图区域接收到的鼠标或触摸输入。如果在 inputView 变为 OnPrimary 时显示次要视图,则次要视图将被关闭。
QAbstract3DInputHandler::InputView::OnSecondary2在次要视图区域接收到的鼠标或触摸输入。

属性文档

inputPosition : QPoint

此属性包含基于处理后的输入事件的最后输入位置。

访问函数

QPointinputPosition() const
voidsetInputPosition(const QPoint &position, bool forceSelection = false)

通知信号

voidpositionChanged(const QPoint &position)

inputView : QAbstract3DInputHandler::InputView

此属性包含基于处理后的输入事件的当前枚举输入视图。

其中一个 InputView 枚举值。

当视图改变时,将发出 inputViewChanged 信号。

访问函数

QAbstract3DInputHandler::InputViewinputView() const
voidsetInputView(QAbstract3DInputHandler::InputView inputView)

通知信号

voidinputViewChanged(QAbstract3DInputHandler::InputView view)

另请参阅 InputView.

scene : Q3DScene*

此属性包含由这个抽象输入处理器控制的 3D 场景。

一个输入处理器可以控制一个场景。将场景设置为输入处理器不会转移场景的所有权。

访问函数

Q3DScene *scene() const
voidsetScene(Q3DScene *scene)

通知信号

voidsceneChanged(Q3DScene *scene)

成员函数文档

[显式受保护] QAbstract3DInputHandler::QAbstract3DInputHandler(QObject *parent = nullptr)

构建基类。可以提供一个可选的 parent 参数,并将其传递给 QObject 构造函数。

[虚拟 noexcept] QAbstract3DInputHandler::~QAbstract3DInputHandler()

销毁基类。

[槽函数] void QAbstract3DInputHandler::handleSelection(const QPoint &position)

将传入的选举查询 position 转换为选举。

另请参阅Q3DScene::selectionQueryPosition.

[虚函数] void QAbstract3DInputHandler::mouseDoubleClickEvent(QMouseEvent *event)

重写此函数以处理鼠标双击事件。鼠标双击事件在 event 中给出。

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

重写此函数以处理鼠标移动事件。鼠标移动事件在 event 中给出,鼠标位置在 mousePos 中。

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

重写此函数以处理鼠标按下事件。鼠标按下事件在 event 中给出,鼠标位置在 mousePos 中。

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

重写此函数以处理鼠标释放事件。鼠标释放事件在 event 中给出,鼠标位置在 mousePos 中。

[保护成员] int QAbstract3DInputHandler::prevDistance() const

返回最后两个输入位置之间的曼哈顿距离。

另请参阅setPrevDistance().

[保护成员] QPoint QAbstract3DInputHandler::previousInputPos() const

返回上一个输入位置。

另请参阅setPreviousInputPos().

[保护成员] void QAbstract3DInputHandler::setPrevDistance(int distance)

设置最后两个输入位置之间的距离 distance(曼哈顿长度)。

另请参阅prevDistance().

[保护成员] void QAbstract3DInputHandler::setPreviousInputPos(const QPoint &position)

将上一个输入位置设置为由 position 给出的点。

另请参阅previousInputPos().

[虚拟] void QAbstract3DInputHandler::touchEvent(QTouchEvent *event)

重写此方法以处理触摸输入事件。触摸事件通过 event 提供。

[虚拟] void QAbstract3DInputHandler::wheelEvent(QWheelEvent *event)

重写此方法以处理滚轮事件。滚轮事件通过 event 提供。

© 2024 Qt公司有限公司。本文件中的文档贡献权属于各自的所有者。本文件提供的文档根据《GNU自由文档许可证版本1.3》的规定进行许可,由自由软件基金会发布。Qt及其相应标志是芬兰及其它国家和地区Qt公司有限公司的商标。所有其他商标均为各自所有者的财产。