QKeyframeAnimation 类
class Qt3DAnimation::QKeyframeAnimation一个实现简单关键帧动画到 QTransform 的类。更多...
头文件 | #include <QKeyframeAnimation> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3danimation) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
qmake | QT += 3danimation |
实例化自 | KeyframeAnimation |
继承自 | Qt3DAnimation::QAbstractAnimation |
公共类型
枚举 | RepeatMode { None, Constant, Repeat } |
属性
|
|
公共函数
QKeyframeAnimation(QObject *parent = nullptr) | |
void | addKeyframe(Qt3DCore::QTransform *keyframe) |
QEasingCurve | easing() const |
Qt3DAnimation::QKeyframeAnimation::RepeatMode | endMode() const |
QList<float> | framePositions() const |
QList<Qt3DCore::QTransform *> | keyframeList() const |
void | removeKeyframe(Qt3DCore::QTransform *keyframe) |
void | setKeyframes(const QList<Qt3DCore::QTransform *> &keyframes) |
Qt3DAnimation::QKeyframeAnimation::RepeatMode | startMode() const |
Qt3DCore::QTransform * | target() const |
QString | targetName() const |
公共槽
void | setEasing(const QEasingCurve &easing) |
void | setEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
void | setFramePositions(const QList<float> &positions) |
void | setStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
void | setTarget(Qt3DCore::QTransform *target) |
void | setTargetName(const QString &name) |
信号
void | easingChanged(const QEasingCurve &easing) |
void | endModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode endMode) |
void | framePositionsChanged(const QList<float> &positions) |
void | startModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode startMode) |
void | targetChanged(Qt3DCore::QTransform *target) |
void | targetNameChanged(const QString &name) |
详细说明
Qt3DAnimation::QKeyframeAnimation类实现了简单的关键帧动画,可以用于动画QTransform。关键帧由多个带时间的QTransform组成,它们被插值并应用到目标QTransform上。QEasingCurve用于关键帧之间,以控制插值器。RepeatMode可以设置当QKeyframeAnimation设置的位位置低于或高于关键帧位置定义的值时。
成员类型文档
enum QKeyframeAnimation::RepeatMode
此枚举指定如何处理关键帧值之外的位置值。
常量 | 值 | 描述 |
---|---|---|
Qt3DAnimation::QKeyframeAnimation::None | 0 | 动画不应用到目标变换。 |
Qt3DAnimation::QKeyframeAnimation::Constant | 1 | 使用边缘关键帧值。 |
Qt3DAnimation::QKeyframeAnimation::Repeat | 2 | 动画是重复的。 |
属性文档
easing : QEasingCurve
持有关键帧之间插值器的简易曲线。
访问函数
QEasingCurve | easing() const |
void | setEasing(const QEasingCurve &easing) |
通知信号
void | easingChanged(const QEasingCurve &easing) |
endMode : RepeatMode
持有大于最后一个关键帧位置的位置值的重复模式。
访问函数
Qt3DAnimation::QKeyframeAnimation::RepeatMode | endMode() const |
void | setEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
通知信号
void | endModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode endMode) |
framePositions : QList<float>
持有关键帧的位置。列表中的每个位置指定具有相同索引的关键帧的相应位置。值必须按升序排列。值可以是正数或负数,没有预设单位。
访问函数
QList<float> | framePositions() const |
void | setFramePositions(const QList<float> &positions) |
通知信号
void | framePositionsChanged(const QList<float> &positions) |
startMode : RepeatMode
持有小于第一个关键帧位置的位置值的重复模式。
访问函数
Qt3DAnimation::QKeyframeAnimation::RepeatMode | startMode() const |
void | setStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
通知信号
void | startModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode startMode) |
target : Qt3DCore::QTransform*
包含动画应用的目标 QTransform。
访问函数
Qt3DCore::QTransform * | target() const |
void | setTarget(Qt3DCore::QTransform *target) |
通知信号
void | targetChanged(Qt3DCore::QTransform *target) |
targetName : QString
包含目标变换的名称。这是一个方便属性,可以更轻松地将目标变换与关键帧动画匹配。名称通常与目标变换的父实体的名称相同,但不必如此。
访问函数
QString | targetName() const |
void | setTargetName(const QString &name) |
通知信号
void | targetNameChanged(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 公司以及世界其他地区的商标。所有其他商标均属于其各自所有者。