Класс QKeyframeAnimation
класс Qt3DAnimation::QKeyframeAnimationКласс, реализующий простую анимацию ключевых кадров для QTransform. Подробнее...
| Заголовок: | #include <QKeyframeAnimation> |
| CMake: | find_package(Qt6 COMPONENTS 3danimation REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
| qmake: | QT += 3danimation |
| С момента: | Qt 5.9 |
| Инициализируется: | KeyframeAnimation |
| Наследуется от: | Qt3DAnimation::QAbstractAnimation |
Типы публичного доступа
| Перечисление | RepeatMode { None, Constant, Repeat } |
Свойства
|
|
Публичные функции
| QKeyframeAnimation(QObject *parent = nullptr) | |
| void | addKeyframe(Qt3DCore::QTransform *keyframe) |
| QEasingCurve | easing() const |
| Qt3DAnimation::QKeyframeAnimation::RepeatMode | endMode() const |
| QList<float> | framePositions() const |
| QList<Qt3DCore::QTransform *> | keyframeList() const |
| void | removeKeyframe(Qt3DCore::QTransform *keyframe) |
| void | setKeyframes(const QList<Qt3DCore::QTransform *> &keyframes) |
| Qt3DAnimation::QKeyframeAnimation::RepeatMode | startMode() const |
| Qt3DCore::QTransform * | target() const |
| QString | targetName() const |
Свойства публичного доступа
| void | setEasing(const QEasingCurve &easing) |
| void | setEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
| void | setFramePositions(const QList<float> &positions) |
| void | setStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
| void | setTarget(Qt3DCore::QTransform *target) |
| void | setTargetName(const QString &name) |
Сигналы
| void | easingChanged(const QEasingCurve &easing) |
| void | endModeChanged(QKeyframeAnimation::RepeatMode endMode) |
| void | framePositionsChanged(const QList<float> &positions) |
| void | startModeChanged(QKeyframeAnimation::RepeatMode startMode) |
| void | targetChanged(Qt3DCore::QTransform *target) |
| void | targetNameChanged(const QString &name) |
Подробное описание
Класс Qt3DAnimation::QKeyframeAnimation реализует простую анимацию ключевых кадров, которая может использоваться для анимации QTransform. Ключевые кадры состоят из нескольких отмеченных во времени QTransform, которые интерполируются и применяются к целевому QTransform. QEasingCurve используется между ключевыми кадрами для управления интерполятором. RepeatMode может быть установлен для случаев, когда позиция, заданная в QKeyframeAnimation, находится ниже или выше значений, определенных в позициях ключевых кадров.
Документация по типам членов
Перечисление QKeyframeAnimation::RepeatMode
Это перечисление определяет, как обрабатываются значения позиций, выходящие за пределы значений ключевых кадров.
| Постоянная | Значение | Описание |
|---|---|---|
Qt3DAnimation::QKeyframeAnimation::None |
0 |
Анимация не применяется к целевому преобразованию. |
Qt3DAnimation::QKeyframeAnimation::Constant |
1 |
Используется значение граничного ключевого кадра. |
Qt3DAnimation::QKeyframeAnimation::Repeat |
2 |
Анимация повторяется. |
Документация свойств
easing : QEasingCurve
Содержит кривую сглаживания интерполятора между ключевыми кадрами.
Функции доступа:
| QEasingCurve | easing() const |
| void | setEasing(const QEasingCurve &easing) |
Сигнал уведомления:
| void | easingChanged(const QEasingCurve &easing) |
endMode : RepeatMode
Содержит режим повторения для значений позиции, превышающих позицию последнего кадра.
Функции доступа:
| Qt3DAnimation::QKeyframeAnimation::RepeatMode | endMode() const |
| void | setEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
Сигнал уведомления:
| void | endModeChanged(QKeyframeAnimation::RepeatMode endMode) |
framePositions : QList<float>
Содержит позиции ключевых кадров. Каждая позиция в списке определяет позицию соответствующего ключевого кадра с тем же индексом. Значения должны быть в порядке возрастания. Значения могут быть положительными или отрицательными и не имеют предопределённой единицы измерения.
Функции доступа:
| QList<float> | framePositions() const |
| void | setFramePositions(const QList<float> &positions) |
Сигнал уведомления:
| void | framePositionsChanged(const QList<float> &positions) |
startMode : RepeatMode
Содержит режим повторения для значений позиции, меньших позиции первого кадра.
Функции доступа:
| Qt3DAnimation::QKeyframeAnimation::RepeatMode | startMode() const |
| void | setStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
Сигнал уведомления:
| void | startModeChanged(QKeyframeAnimation::RepeatMode startMode) |
target : Qt3DCore::QTransform*
Содержит целевой QTransform, к которому применяется анимация.
Функции доступа:
| Qt3DCore::QTransform * | target() const |
| void | setTarget(Qt3DCore::QTransform *target) |
Сигнал уведомления:
| void | targetChanged(Qt3DCore::QTransform *target) |
targetName : QString
Содержит имя целевого преобразования. Это свойство удобства, упрощающее сопоставление целевого преобразования с анимацией ключевых кадров. Имя обычно совпадает с именем родительского объекта целевого преобразования, но не обязательно.
Функции доступа:
| QString | targetName() const |
| void | setTargetName(const QString &name) |
Сигнал уведомления:
| void | targetNameChanged(const QString &name) |
Документация функций-членов
QKeyframeAnimation::QKeyframeAnimation(QObject *parent = nullptr)
Создаёт QKeyframeAnimation с parent.
void QKeyframeAnimation::addKeyframe(Qt3DCore::QTransform *keyframe)
Добавляет новый keyframe в конец анимации. QTransform можно добавить в анимацию несколько раз.
QList<Qt3DCore::QTransform *> QKeyframeAnimation::keyframeList() const
Возвращает список ключевых кадров.
void QKeyframeAnimation::removeKeyframe(Qt3DCore::QTransform *keyframe)
Удаляет keyframe из анимации. Если один и тот же QTransform задан как ключевой кадр несколько раз, все его вхождения удаляются.
void QKeyframeAnimation::setKeyframes(const QList<Qt3DCore::QTransform *> &keyframes)
Устанавливает keyframes анимации. Старые ключевые кадры очищаются.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3danimation-qkeyframeanimation.html