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 公司以及世界其他地区的商标。所有其他商标均属于其各自所有者。