QSequentialAnimationGroup Class
QSequentialAnimationGroup 类提供了一组顺序动画。更多
Header: | #include <QSequentialAnimationGroup> |
CMake.QSequentialAnimationGroup 类 | 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
是两个已经设置好的QPropertyAnimations。
另请参阅 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)
QSequentialAnimationGroup currentAnimation 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()。
[override virtual protected]
void QSequentialAnimationGroup::updateCurrentTime(int currentTime)
重实现:QAbstractAnimation::updateCurrentTime(int currentTime)。
[override virtual protected]
void QSequentialAnimationGroup::updateDirection(QAbstractAnimation::Direction direction)
重实现:QAbstractAnimation::updateDirection(QAbstractAnimation::Direction direction)。
[override virtual protected]
void QSequentialAnimationGroup::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
重实现:QAbstractAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)。
© 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.