Класс QPropertyAnimation
Класс QPropertyAnimation анимирует свойства Qt. Подробнее...
| Заголовок: | #include <QPropertyAnimation> |
| qmake: | QT += core |
| С тех пор: | Qt 4.6 |
| Наследуется от: | QVariantAnimation |
Свойства
- propertyName : QByteArray
- targetObject : QObject*
- 5 свойств унаследовано от QVariantAnimation
- 6 свойств унаследовано от QAbstractAnimation
- 1 свойство унаследовано от QObject
Открытые функции
| QPropertyAnimation(QObject *parent = nullptr) | |
| QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = nullptr) | |
| virtual | ~QPropertyAnimation() |
| QByteArray | propertyName() const |
| void | setPropertyName(const QByteArray &propertyName) |
| void | setTargetObject(QObject *target) |
| QObject * | targetObject() const |
- 13 открытых функций унаследовано от QVariantAnimation
- 11 открытых функций унаследовано от QAbstractAnimation
- 32 открытых функции унаследовано от QObject
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 10 статических открытых членов унаследовано от QObject
Переопределённые защищённые функции
| virtual bool | event(QEvent *event) override |
| virtual void | updateCurrentValue(const QVariant &value) override |
| virtual void | updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) override |
- 5 защищённых функций унаследовано от QVariantAnimation
- 4 защищённых функций унаследовано от QAbstractAnimation
- 9 защищённых функций унаследовано от QObject
Дополнительные унаследованные члены
- 6 публичных слотов унаследовано от QAbstractAnimation
- 1 публичный слот унаследовано от QObject
- 1 сигнал унаследовано от QVariantAnimation
- 4 сигнала унаследовано от QAbstractAnimation
- 2 сигнала унаследовано от QObject
- 5 защищённых функций унаследовано от QVariantAnimation
- 4 защищённых функций унаследовано от QAbstractAnimation
- 9 защищённых функций унаследовано от QObject
Подробное описание
Класс QPropertyAnimation анимирует свойства Qt.
QPropertyAnimation интерполирует значения свойств Qt. Поскольку значения свойств хранятся в QVariant, класс наследуется от QVariantAnimation и поддерживает анимацию тех же типов метаданных, что и его суперкласс.
Класс, объявляющий свойства, должен быть объектом QObject. Чтобы можно было анимировать свойство, он должен предоставить метод-сеттер (чтобы QPropertyAnimation мог установить значение свойства). Это позволяет анимировать многие виджеты Qt. Давайте рассмотрим пример:
QPropertyAnimation *animation = new QPropertyAnimation(myWidget, "geometry");
animation->setDuration(10000);
animation->setStartValue(QRect(0, 0, 100, 30));
animation->setEndValue(QRect(250, 250, 100, 30));
animation->start(); Имя свойства и объект QObject, свойство которого нужно анимировать, передаются в конструктор. Затем вы можете указать начальное и конечное значения свойства. Процедура аналогична для свойств в классах, которые вы реализовали сами — просто убедитесь с помощью QVariantAnimation, что ваш тип QVariant поддерживается.
Описание класса QVariantAnimation подробно объясняет, как настроить анимацию. Однако, если начальное значение не задано, свойство будет начинаться с значения, которое оно имело при создании экземпляра QPropertyAnimation.
Класс QPropertyAnimation работает отлично сам по себе. Для сложных анимаций, которые, например, содержат несколько объектов, предоставляется QAnimationGroup. Группа анимаций — это анимация, которая может содержать другие анимации и управлять моментом воспроизведения своих анимаций. Посмотрите на пример QParallelAnimationGroup.
См. также QVariantAnimation, QAnimationGroup и Архитектура анимации.
Документация по свойствам
propertyName : QByteArray
Это свойство содержит имя целевого свойства для этой анимации
Это свойство определяет имя целевого свойства для этой анимации. Имя свойства необходимо для работы анимации.
Функции доступа:
| QByteArray | propertyName() const |
| void | setPropertyName(const QByteArray &propertyName) |
targetObject : QObject*
Это свойство содержит целевой QObject для этой анимации.
Это свойство определяет целевой QObject для этой анимации.
Функции доступа:
| QObject * | targetObject() const |
| void | setTargetObject(QObject *target) |
Документация по функциям-членам
QPropertyAnimation::QPropertyAnimation(QObject *parent = nullptr)
Конструирует объект QPropertyAnimation. parent передаётся в конструктор QObject.
QPropertyAnimation::QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = nullptr)
Конструирует объект QPropertyAnimation. parent передаётся в конструктор QObject. Анимация изменяет свойство propertyName объекта target. Значение по умолчанию — 250 мс.
См. также targetObject и propertyName.
[virtual] QPropertyAnimation::~QPropertyAnimation()
Удаляет экземпляр QPropertyAnimation.
[override virtual protected] bool QPropertyAnimation::event(QEvent *event)
Переопределено из QVariantAnimation::event().
[override virtual protected] void QPropertyAnimation::updateCurrentValue(const QVariant &value)
Переопределено из QVariantAnimation::updateCurrentValue().
Эта виртуальная функция вызывается QVariantAnimation, когда изменяется текущее значение. value — новое, обновлённое значение. Она обновляет текущее значение свойства целевого объекта.
См. также currentValue и currentTime.
[override virtual protected] void QPropertyAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
Переопределено из QVariantAnimation::updateState().
Если startValue не определено, когда состояние анимации изменяется с Остановлено на Запущено, текущее значение свойства используется в качестве начального значения для анимации.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qpropertyanimation.html