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. 在芬兰以及全球其他国家的商标。所有其他商标均为各自所有者的财产。