Qt3DInput::QAxisAccumulator Class

class Qt3DInput::QAxisAccumulator

QAxisAccumulator 可处理来自QAxis速度或加速度数据。

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

公共类型

enum SourceAxisType { Velocity, Acceleration }

属性

公共功能

QAxisAccumulator(Qt3DCore::QNode *parent = nullptr)
float scale() const
Qt3DInput::QAxis *sourceAxis() const
Qt3DInput::QAxisAccumulator::SourceAxisType sourceAxisType() const
float value() const
float velocity() const

公共插槽

void setScale(float scale)
void setSourceAxis(Qt3DInput::QAxis *sourceAxis)
void setSourceAxisType(Qt3DInput::QAxisAccumulator::SourceAxisType sourceAxisType)

信号

void scaleChanged(float scale)
void sourceAxisChanged(Qt3DInput::QAxis *sourceAxis)
void sourceAxisTypeChanged(Qt3DInput::QAxisAccumulator::SourceAxisType sourceAxisType)
void valueChanged(float value)
void velocityChanged(float value)

详细说明

使用parent 构建一个新的 QAxisAccumulator 实例。

Qt3DInput::QAxis 报告输入设备上某个轴的当前位置。当坐标轴返回到中立位置时,坐标轴的值将返回到 0。通常情况下,需要用其他方式控制坐标轴的输入变量,例如将Qt3DInput::QAxis 的值视为速度(相对于时间的一阶导数)或加速度(相对于时间的二阶导数)。这可以通过用户代码或Qt3DLogic::QFrameAction 来实现,但这些方法并不理想,因为它们会给主线程增加更多工作,而且本质上是命令式的。Qt3DInput::QAxisAccumulator 类允许在Qt 3D 后端执行这一常见任务,并以声明方式进行指定。

成员类型文档

enum QAxisAccumulator::SourceAxisType

常数
Qt3DInput::QAxisAccumulator::Velocity0
Qt3DInput::QAxisAccumulator::Acceleration1

属性文件

[read-only] value : const float

返回累计(积分)值。

访问功能

float value() const

通知信号:

void valueChanged(float value)

成员函数 文档

QAxisAccumulator::QAxisAccumulator(Qt3DCore::QNode *parent = nullptr)

构建一个新的 QAxisAccumulator 实例,父parent

float QAxisAccumulator::scale() const

累加时轴值的缩放量。这可以看作是轴可以控制的最大速度或加速度。

返回输入轴值的缩放量。

注: 属性缩放的获取函数。

另请参见 setScale().

[slot] void QAxisAccumulator::setSourceAxis(Qt3DInput::QAxis *sourceAxis)

将累加器接收数值的源轴设置为sourceAxis 。如何处理这些数值由sourceAxisType 和 scale 属性控制。

注: 属性sourceAxis 的设置函数。

另请参阅 sourceAxis() 。

[slot] void QAxisAccumulator::setSourceAxisType(Qt3DInput::QAxisAccumulator::SourceAxisType sourceAxisType)

设置累加器如何处理来自sourceAxisType 的值。

注: 属性sourceAxisType 的设置函数。

另请参阅 sourceAxisType() 。

Qt3DInput::QAxis *QAxisAccumulator::sourceAxis() const

返回QAxis ,累加器应为其整合轴值。

注: 属性 sourceAxis 的获取函数。

另请参见 setSourceAxis().

Qt3DInput::QAxisAccumulator::SourceAxisType QAxisAccumulator::sourceAxisType() const

返回累加器如何处理sourceAxis 的值。

注: 属性 sourceAxisType 的获取函数。

另请参阅 setSourceAxisType().

float QAxisAccumulator::velocity() const

返回速度。如果sourceAxisType 设置为 "Velocity(速度)",那么速度就是源轴的值乘以刻度。如果sourceAxisType 设置为加速度,则使用源轴值作为加速度对速度进行积分。

注: 速度属性的获取函数。

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