Spec-Zone.ru › Qt 5.14

Класс QPropertyAnimation

Класс QPropertyAnimation анимирует свойства Qt. Подробнее...

Заголовок: #include <QPropertyAnimation>
qmake: QT += core
С момента: Qt 4.6
Наследует: QVariantAnimation

Этот класс был представлен в Qt 4.6.

  • Список всех членов, включая наследуемые

Свойства

  • propertyName : QByteArray
  • targetObject : QObject*

Открытые функции

QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = nullptr)
QPropertyAnimation(QObject *parent = nullptr)
virtual ~QPropertyAnimation()
QByteArray propertyName() const
void setPropertyName(const QByteArray &propertyName)
void setTargetObject(QObject *target)
QObject * targetObject() const

Переопределенные защищенные функции

virtual bool event(QEvent *event) override
virtual void updateCurrentValue(const QVariant &value) override
virtual void updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) override

Подробное описание

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 *target, const QByteArray &propertyName, QObject *parent = nullptr)

Создает объект QPropertyAnimation. parent передается в конструктор QObject. Анимация изменяет свойство propertyName на target. Продолжительность по умолчанию — 250 мс.

См. также targetObject и propertyName.

QPropertyAnimation::QPropertyAnimation(QObject *parent = nullptr)

Создает объект QPropertyAnimation. parent передается в конструктор QObject.

[virtual] QPropertyAnimation::~QPropertyAnimation()

Уничтожает экземпляр QPropertyAnimation.

[override virtual protected] bool QPropertyAnimation::event(QEvent *event)

Переопределяет: QVariantAnimation::event(QEvent *event).

[override virtual protected] void QPropertyAnimation::updateCurrentValue(const QVariant &value)

Переопределяет: QVariantAnimation::updateCurrentValue(const QVariant &value).

Эта виртуальная функция вызывается QVariantAnimation всякий раз, когда изменяется текущее значение. value — новое обновленное значение. Она обновляет текущее значение свойства в целевом объекте.

См. также currentValue и currentTime.

[override virtual protected] void QPropertyAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)

Переопределяет: QVariantAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState).

Если startValue не определено при изменении состояния анимации с Stopped на Running, текущее значение свойства используется в качестве начального значения для анимации.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qpropertyanimation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API