QSequentialAnimationGroup 类
QSequentialAnimationGroup 类型提供了一个顺序动画组。 更多...
| 头文件 | #include <QSequentialAnimationGroup> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) | 
| qmake | QT += core | 
| 继承自 | QAnimationGroup | 
- 所有成员列表,包括继承成员
- QSequentialAnimationGroup 是 动画框架 的一部分。
属性
- currentAnimation : QAbstractAnimation*
公共函数
| QSequentialAnimationGroup(QObject *parent = nullptr) | |
| virtual | ~QSequentialAnimationGroup() | 
| QPauseAnimation * | addPause(int msecs) | 
| QBindable<QAbstractAnimation *> | bindableCurrentAnimation() const | 
| QAbstractAnimation * | currentAnimation() const | 
| QPauseAnimation * | insertPause(int index, int msecs) | 
重写的公共函数
| virtual int | duration() const override | 
信号
| void | currentAnimationChanged(QAbstractAnimation *current) | 
重写的保护函数
| virtual bool | event(QEvent *event) override | 
| virtual void | updateCurrentTime(int currentTime) override | 
| virtual void | updateDirection(QAbstractAnimation::Direction direction) override | 
| virtual void | updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) override | 
详细描述
QSequentialAnimationGroup 是一个 QAnimationGroup,它按顺序运行其动画,即在一个动画播放完毕后开始另一个动画。动画按照它们被添加到组中的顺序播放(使用 addAnimation() 或 insertAnimation())。动画组在最后一个动画完成后结束。
在每个时刻,组中最多只有一个活动动画;它由 currentAnimation() 方法返回。一个空的组没有当前动画。
顺序动画组可以被看作任何其他动画,即可以启动、停止和添加到其他组。您还可以调用 addPause() 或 insertPause() 方法向顺序动画组添加暂停。
QSequentialAnimationGroup *group = new QSequentialAnimationGroup; group->addAnimation(anim1); group->addAnimation(anim2); group->start();
在此示例中,anim1 和 anim2 是两个已经设置好的 QPropertyAnimation 实例。
另请参阅 QAnimationGroup、QAbstractAnimation 和 动画框架。
属性文档
[bindable read-only] currentAnimation : QAbstractAnimation*
注意: 此属性支持 QProperty 绑定。
该属性包含当前时间的动画。
成员函数文档
QSequentialAnimationGroup::QSequentialAnimationGroup(QObject *parent = nullptr)
构造一个 QSequentialAnimationGroup 对象。将 parent 传递给 QObject 构造函数。
[virtual noexcept] QSequentialAnimationGroup::~QSequentialAnimationGroup()
销毁动画组。它也将销毁所有动画。
QPauseAnimation *QSequentialAnimationGroup::addPause(int msecs)
为此动画组添加一个时长为 msecs 毫秒的暂停。暂停被视为特殊类型的动画,因此 animationCount 会增加。
另请参阅 insertPause() 和 QAnimationGroup::addAnimation()。
[signal] void QSequentialAnimationGroup::currentAnimationChanged(QAbstractAnimation *current)
当 currentAnimation 发生变化时,QSequentialAnimationGroup 会发出此信号。 current 是当前动画。
注意: 该信号是属性 currentAnimation 的通知信号。
另请参阅 currentAnimation().
[override virtual] int QSequentialAnimationGroup::duration() const
重实现了: QAbstractAnimation::duration() const.
[override virtual protected] bool QSequentialAnimationGroup::event(QEvent *event)
重实现了: QAnimationGroup::event(QEvent *event).
QPauseAnimation *QSequentialAnimationGroup::insertPause(int index, int msecs)
在动画组中的 index 位置插入一个时长为 msecs 毫秒的暂停。
另请参阅 addPause() 和 QAnimationGroup::insertAnimation().
[覆盖虚保护] void QSequentialAnimationGroup::updateCurrentTime(int currentTime)
重实现: QAbstractAnimation::updateCurrentTime(int currentTime).
[覆盖虚保护] void QSequentialAnimationGroup::updateDirection(QAbstractAnimation::Direction direction)
重实现: QAbstractAnimation::updateDirection(QAbstractAnimation::Direction direction).
[覆盖虚保护] void QSequentialAnimationGroup::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
重实现: QAbstractAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState).
© 2024 The Qt Company Ltd. 本文件中的文档贡献版权属于各自的所有者。本提供的文档根据由自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 的条款获得许可。Qt 及相关的徽标为 The Qt Company Ltd. 在芬兰以及全球其他国家的商标。所有其他商标均为各自所有者的财产。