Класс 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 = Q_NULLPTR) | |
| QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = Q_NULLPTR) | |
| ~QPropertyAnimation() | |
| QByteArray | propertyName() const |
| void | setPropertyName(const QByteArray &propertyName) |
| void | setTargetObject(QObject *target) |
| QObject * | targetObject() const |
- 13 открытых функций, унаследованных от QVariantAnimation
- 11 открытых функций, унаследованных от QAbstractAnimation
- 32 открытых функций, унаследованных от QObject
Переопределённые защищённые функции
| virtual bool | event(QEvent *event) |
| virtual void | updateCurrentValue(const QVariant &value) |
| virtual void | updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) |
- 5 защищённых функций, унаследованных от QVariantAnimation
- 4 защищённых функций, унаследованных от QAbstractAnimation
- 9 защищённых функций, унаследованных от QObject
Дополнительные унаследованные члены
- 6 открытых слотов, унаследованных от QAbstractAnimation
- 1 открытый слот, унаследованный от QObject
- 1 сигнал, унаследованный от QVariantAnimation
- 4 сигнала, унаследованные от QAbstractAnimation
- 2 сигнала, унаследованные от QObject
- 11 статических открытых членов, унаследованных от 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 = Q_NULLPTR)
Создаёт объект QPropertyAnimation. parent передаётся конструктору QObject.
QPropertyAnimation::QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = Q_NULLPTR)
Создаёт объект QPropertyAnimation. parent передаётся конструктору QObject. Анимация изменяет свойство propertyName объекта target. Значение по умолчанию для продолжительности — 250 мс.
См. также targetObject и propertyName.
QPropertyAnimation::~QPropertyAnimation()
Удаляет экземпляр QPropertyAnimation.
[virtual protected] bool QPropertyAnimation::event(QEvent *event)
Переопределено из QObject::event().
[virtual protected] void QPropertyAnimation::updateCurrentValue(const QVariant &value)
Переопределено из QVariantAnimation::updateCurrentValue().
Эта виртуальная функция вызывается QVariantAnimation всякий раз, когда текущее значение изменяется. value — новое обновлённое значение. Оно обновляет текущее значение свойства в целевом объекте.
См. также currentValue и currentTime.
[virtual protected] void QPropertyAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
Переопределено из QAbstractAnimation::updateState().
Если начальное значение не определено, когда состояние анимации меняется со Stopped на Running, текущее значение свойства используется как начальное значение для анимации.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qpropertyanimation.html