Spec-Zone.ru › Qt 6.0

Класс QPropertyAnimation

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

Заголовок: #include <QPropertyAnimation>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Наследует: QVariantAnimation
  • Список всех членов, включая унаследованные

Свойства

  • 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-6.0/qpropertyanimation.html

Spec-Zone.ru

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