QKeyframeAnimation 类

class Qt3DAnimation::QKeyframeAnimation

一个实现简单关键帧动画到 QTransform 的类。更多...

头文件 #include <QKeyframeAnimation>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmakeQT += 3danimation
实例化自 KeyframeAnimation
继承自 Qt3DAnimation::QAbstractAnimation

公共类型

枚举RepeatMode { None, Constant, Repeat }

属性

公共函数

QKeyframeAnimation(QObject *parent = nullptr)
voidaddKeyframe(Qt3DCore::QTransform *keyframe)
QEasingCurveeasing() const
Qt3DAnimation::QKeyframeAnimation::RepeatModeendMode() const
QList<float>framePositions() const
QList<Qt3DCore::QTransform *>keyframeList() const
voidremoveKeyframe(Qt3DCore::QTransform *keyframe)
voidsetKeyframes(const QList<Qt3DCore::QTransform *> &keyframes)
Qt3DAnimation::QKeyframeAnimation::RepeatModestartMode() const
Qt3DCore::QTransform *target() const
QStringtargetName() const

公共槽

voidsetEasing(const QEasingCurve &easing)
voidsetEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode)
voidsetFramePositions(const QList<float> &positions)
voidsetStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode)
voidsetTarget(Qt3DCore::QTransform *target)
voidsetTargetName(const QString &name)

信号

voideasingChanged(const QEasingCurve &easing)
voidendModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode endMode)
voidframePositionsChanged(const QList<float> &positions)
voidstartModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode startMode)
voidtargetChanged(Qt3DCore::QTransform *target)
voidtargetNameChanged(const QString &name)

详细说明

Qt3DAnimation::QKeyframeAnimation类实现了简单的关键帧动画,可以用于动画QTransform。关键帧由多个带时间的QTransform组成,它们被插值并应用到目标QTransform上。QEasingCurve用于关键帧之间,以控制插值器。RepeatMode可以设置当QKeyframeAnimation设置的位位置低于或高于关键帧位置定义的值时。

成员类型文档

enum QKeyframeAnimation::RepeatMode

此枚举指定如何处理关键帧值之外的位置值。

常量描述
Qt3DAnimation::QKeyframeAnimation::None0动画不应用到目标变换。
Qt3DAnimation::QKeyframeAnimation::Constant1使用边缘关键帧值。
Qt3DAnimation::QKeyframeAnimation::Repeat2动画是重复的。

属性文档

easing : QEasingCurve

持有关键帧之间插值器的简易曲线。

访问函数

QEasingCurveeasing() const
voidsetEasing(const QEasingCurve &easing)

通知信号

voideasingChanged(const QEasingCurve &easing)

endMode : RepeatMode

持有大于最后一个关键帧位置的位置值的重复模式。

访问函数

Qt3DAnimation::QKeyframeAnimation::RepeatModeendMode() const
voidsetEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode)

通知信号

voidendModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode endMode)

framePositions : QList<float>

持有关键帧的位置。列表中的每个位置指定具有相同索引的关键帧的相应位置。值必须按升序排列。值可以是正数或负数,没有预设单位。

访问函数

QList<float>framePositions() const
voidsetFramePositions(const QList<float> &positions)

通知信号

voidframePositionsChanged(const QList<float> &positions)

startMode : RepeatMode

持有小于第一个关键帧位置的位置值的重复模式。

访问函数

Qt3DAnimation::QKeyframeAnimation::RepeatModestartMode() const
voidsetStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode)

通知信号

voidstartModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode startMode)

target : Qt3DCore::QTransform*

包含动画应用的目标 QTransform

访问函数

Qt3DCore::QTransform *target() const
voidsetTarget(Qt3DCore::QTransform *target)

通知信号

voidtargetChanged(Qt3DCore::QTransform *target)

targetName : QString

包含目标变换的名称。这是一个方便属性,可以更轻松地将目标变换与关键帧动画匹配。名称通常与目标变换的父实体的名称相同,但不必如此。

访问函数

QStringtargetName() const
voidsetTargetName(const QString &name)

通知信号

voidtargetNameChanged(const QString &name)

成员函数文档

[显式] QKeyframeAnimation::QKeyframeAnimation(QObject *parent = nullptr)

使用父对象构建 QKeyframeAnimation。

void QKeyframeAnimation::addKeyframe(Qt3DCore::QTransform *keyframe)

将新 关键帧 添加到动画的末尾。可以将 QTransform 添加到动画中多次。

QList<Qt3DCore::QTransform *> QKeyframeAnimation::keyframeList() const

返回关键帧列表。

void QKeyframeAnimation::removeKeyframe(Qt3DCore::QTransform *keyframe)

从动画中删除一个 关键帧。如果将相同的 QTransform 设置为关键帧多次,则删除所有实例。

void QKeyframeAnimation::setKeyframes(const QList<Qt3DCore::QTransform *> &keyframes)

设置动画的 关键帧。清除旧的关键帧。

© 2024 Qt 公司所有。本文件中包含的文档贡献是各自所有者的版权。本文件提供的文档根据自由软件开发基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可。Qt 和相应的标志是芬兰 Qt 公司以及世界其他地区的商标。所有其他商标均属于其各自所有者。