Класс 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
Переопределённые защищённые функции
| 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
- 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 = 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().
Если начальное значение не определено, когда состояние анимации изменяется с Остановлено на Запущено, текущее значение свойства используется в качестве начального значения для анимации.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qpropertyanimation.html