QAnimationGroup Class
The QAnimationGroup class is an abstract base class for groups of animations. 更多...
头文件: | #include <QAnimationGroup> |
qmake: | QT += core |
开始支持版本: | Qt 4.6 |
基类: | QAbstractAnimation |
派生类: |
公有函数
QAnimationGroup(QObject *parent = Q_NULLPTR) | |
~QAnimationGroup() | |
void | addAnimation(QAbstractAnimation *animation) |
QAbstractAnimation * | animationAt(int index) const |
int | animationCount() const |
void | clear() |
int | indexOfAnimation(QAbstractAnimation *animation) const |
void | insertAnimation(int index, QAbstractAnimation *animation) |
void | removeAnimation(QAbstractAnimation *animation) |
QAbstractAnimation * | takeAnimation(int index) |
- 11 个公有函数继承自 QAbstractAnimation
- 32 个公有函数继承自 QObject
重新实现的受保护函数
virtual bool | event(QEvent *event) |
- 4 个受保护的函数继承自 QAbstractAnimation
- 9 个受保护的函数继承自 QObject
其他继承的成员
- 6 个属性继承自 QAbstractAnimation
- 1 个属性继承自 QObject
- 6 个公有槽函数继承自 QAbstractAnimation
- 1 个公有槽函数继承自 QObject
- 4 个信号继承自 QAbstractAnimation
- 2 个信号继承自 QObject
- 11 个静态公有成员继承自 QObject
- 4 个受保护的函数继承自 QAbstractAnimation
- 9 个受保护的函数继承自 QObject
详细描述
The QAnimationGroup class is an abstract base class for groups of animations.
An animation group is a container for animations (subclasses of QAbstractAnimation). A group is usually responsible for managing the state of its animations, i.e., it decides when to start, stop, resume, and pause them. Currently, Qt provides two such groups: QParallelAnimationGroup and QSequentialAnimationGroup. Look up their class descriptions for details.
Since QAnimationGroup inherits from QAbstractAnimation, you can combine groups, and easily construct complex animation graphs. You can query QAbstractAnimation for the group it belongs to (using the group() function).
To start a top-level animation group, you simply use the start() function from QAbstractAnimation. By a top-level animation group, we think of a group that itself is not contained within another group. Starting sub groups directly is not supported, and may lead to unexpected behavior.
QAnimationGroup provides methods for adding and retrieving animations. Besides that, you can remove animations by calling removeAnimation(), and clear the animation group by calling clear(). You may keep track of changes in the group's animations by listening to QEvent::ChildAdded and QEvent::ChildRemoved events.
QAnimationGroup takes ownership of the animations it manages, and ensures that they are deleted when the animation group is deleted.
参见 QAbstractAnimation, QVariantAnimation, and The Animation Framework.
成员函数
QAnimationGroup::QAnimationGroup(QObject *parent = Q_NULLPTR)
Constructs a QAnimationGroup. parent is passed to QObject's constructor.
QAnimationGroup::~QAnimationGroup()
Destroys the animation group. It will also destroy all its animations.
void QAnimationGroup::addAnimation(QAbstractAnimation *animation)
Adds animation to this group. This will call insertAnimation with index equals to animationCount().
Note: The group takes ownership of the animation.
参见 removeAnimation().
QAbstractAnimation *QAnimationGroup::animationAt(int index) const
Returns a pointer to the animation at index in this group. This function is useful when you need access to a particular animation. index is between 0 and animationCount() - 1.
参见 animationCount() and indexOfAnimation().
int QAnimationGroup::animationCount() const
Returns the number of animations managed by this group.
参见 indexOfAnimation(), addAnimation(), and animationAt().
void QAnimationGroup::clear()
Removes and deletes all animations in this animation group, and resets the current time to 0.
参见 addAnimation() and removeAnimation().
[virtual protected]
bool QAnimationGroup::event(QEvent *event)
Reimplemented from QObject::event().
int QAnimationGroup::indexOfAnimation(QAbstractAnimation *animation) const
Returns the index of animation. The returned index can be passed to the other functions that take an index as an argument.
参见 insertAnimation(), animationAt(), and takeAnimation().
void QAnimationGroup::insertAnimation(int index, QAbstractAnimation *animation)
Inserts animation into this animation group at index. If index is 0 the animation is inserted at the beginning. If index is animationCount(), the animation is inserted at the end.
Note: The group takes ownership of the animation.
参见 takeAnimation(), addAnimation(), indexOfAnimation(), and removeAnimation().
void QAnimationGroup::removeAnimation(QAbstractAnimation *animation)
Removes animation from this group. The ownership of animation is transferred to the caller.
参见 takeAnimation(), insertAnimation(), and addAnimation().
QAbstractAnimation *QAnimationGroup::takeAnimation(int index)
Returns the animation at index and removes it from the animation group.
Note: The ownership of the animation is transferred to the caller.
参见 removeAnimation(), addAnimation(), insertAnimation(), and indexOfAnimation().