Класс QAnimationGroup
Класс QAnimationGroup — это абстрактный базовый класс для групп анимаций. Подробнее...
| Заголовок: | #include <QAnimationGroup> |
| qmake: | QT += core |
| С момента: | Qt 4.6 |
| Наследуется от: | QAbstractAnimation |
| Наследуется для: |
Этот класс был представлен в Qt 4.6.
Открытые функции
| QAnimationGroup(QObject *parent = nullptr) | |
| virtual | ~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) |
Переопределенные защищенные функции
| virtual bool | event(QEvent *event) override |
Подробное описание
Группа анимаций — это контейнер для анимаций (подклассы QAbstractAnimation). Группа обычно отвечает за управление состоянием своих анимаций, то есть она определяет, когда их следует запускать, останавливать, возобновлять и приостанавливать. В настоящее время Qt предоставляет две такие группы: QParallelAnimationGroup и QSequentialAnimationGroup. Обратитесь к описаниям их классов для получения подробной информации.
Поскольку QAnimationGroup наследуется от QAbstractAnimation, вы можете комбинировать группы и легко создавать сложные графики анимации. Вы можете запросить у QAbstractAnimation группу, к которой она принадлежит (с помощью функции group()).
Чтобы запустить группу анимаций верхнего уровня, просто используйте функцию start() из QAbstractAnimation. Под группой анимаций верхнего уровня мы подразумеваем группу, которая сама не содержится в другой группе. Непосредственное запуск дочерних групп не поддерживается и может привести к непредсказуемому поведению.
QAnimationGroup предоставляет методы для добавления и получения анимаций. Кроме того, вы можете удалять анимации, вызывая removeAnimation(), и очищать группу анимаций, вызывая clear(). Вы можете отслеживать изменения в анимациях группы, прослушивая события QEvent::ChildAdded и QEvent::ChildRemoved.
QAnimationGroup принимает на себя ответственность за управляемые анимации и гарантирует их удаление при удалении группы анимаций.
См. также QAbstractAnimation, QVariantAnimation и Фреймворк анимации.
Документация по функциям-членам
QAnimationGroup::QAnimationGroup(QObject *parent = nullptr)
Создаёт QAnimationGroup. parent передаётся в конструктор QObject.
[virtual] QAnimationGroup::~QAnimationGroup()
Удаляет группу анимаций. Также удаляет все её анимации.
void QAnimationGroup::addAnimation(QAbstractAnimation *animation)
Добавляет animation в эту группу. Это вызовет insertAnimation со значением индекса, равным animationCount().
Примечание: группа принимает на себя ответственность за анимацию.
См. также removeAnimation().
QAbstractAnimation *QAnimationGroup::animationAt(int index) const
Возвращает указатель на анимацию по индексу index в этой группе. Эта функция полезна, когда вам нужен доступ к конкретной анимации. index находится в диапазоне от 0 до animationCount() - 1.
См. также animationCount() и indexOfAnimation().
int QAnimationGroup::animationCount() const
Возвращает количество анимаций, управляемых этой группой.
См. также indexOfAnimation(), addAnimation() и animationAt().
void QAnimationGroup::clear()
Удаляет и удаляет все анимации в этой группе анимаций и сбрасывает текущее время до 0.
См. также addAnimation() и removeAnimation().
[override virtual protected] bool QAnimationGroup::event(QEvent *event)
Переопределяет: QAbstractAnimation::event(QEvent *event).
int QAnimationGroup::indexOfAnimation(QAbstractAnimation *animation) const
Возвращает индекс animation. Возвращённый индекс можно передать другим функциям, которые принимают индекс в качестве аргумента.
См. также insertAnimation(), animationAt() и takeAnimation().
void QAnimationGroup::insertAnimation(int index, QAbstractAnimation *animation)
Вставляет animation в эту группу анимаций по индексу index. Если index равно 0, анимация вставляется в начало. Если index равно animationCount(), анимация вставляется в конец.
Примечание: группа принимает на себя ответственность за анимацию.
См. также takeAnimation(), addAnimation(), indexOfAnimation() и removeAnimation().
void QAnimationGroup::removeAnimation(QAbstractAnimation *animation)
Удаляет animation из этой группы. Владение animation передаётся вызывающей стороне.
См. также takeAnimation(), insertAnimation() и addAnimation().
QAbstractAnimation *QAnimationGroup::takeAnimation(int index)
Возвращает анимацию по индексу index и удаляет её из группы анимаций.
Примечание: Владение анимацией передаётся вызывающей стороне.
См. также removeAnimation(), addAnimation(), insertAnimation() и indexOfAnimation().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qanimationgroup.html