En esta página

Qt3DAnimation::QKeyframeAnimation Class

class Qt3DAnimation::QKeyframeAnimation

Una clase que implementa una simple animación de fotogramas clave a un QTransform. Más...

Cabecera: #include <QKeyframeAnimation>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
En QML: KeyframeAnimation
Hereda: Qt3DAnimation::QAbstractAnimation
Status: Obsoleto

Tipos públicos

enum RepeatMode { None, Constant, Repeat }

Propiedades

Funciones públicas

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

Ranuras públicas

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)

Señales

void easingChanged(const QEasingCurve &easing)
void endModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode endMode)
void framePositionsChanged(const QList<float> &positions)
void startModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode startMode)
void targetChanged(Qt3DCore::QTransform *target)
void targetNameChanged(const QString &name)

Descripción detallada

La clase Qt3DAnimation::QKeyframeAnimation implementa una sencilla animación de fotogramas clave que puede utilizarse para animar QTransform. Los fotogramas clave consisten en múltiples QTransforms temporizadas, que se interpolan y se aplican al objetivo QTransform. QEasingCurve se utiliza entre los fotogramas clave para controlar el interpolador. RepeatMode se puede establecer para cuando la posición establecida en el QKeyframeAnimation está por debajo o por encima de los valores definidos en las posiciones de los fotogramas clave.

Documentación de tipos de miembros

enum QKeyframeAnimation::RepeatMode

Esta enumeración especifica cómo se manejan los valores de posición fuera de los valores de fotograma clave.

ConstanteValorDescripción
Qt3DAnimation::QKeyframeAnimation::None0La animación no se aplica a la transformación destino.
Qt3DAnimation::QKeyframeAnimation::Constant1Se utiliza el valor del fotograma clave del borde.
Qt3DAnimation::QKeyframeAnimation::Repeat2La animación se repite.

Documentación de la propiedad

easing : QEasingCurve

Mantiene la curva de relajación del interpolador entre fotogramas clave.

Funciones de acceso:

QEasingCurve easing() const
void setEasing(const QEasingCurve &easing)

Señal del notificador:

void easingChanged(const QEasingCurve &easing)

endMode : RepeatMode

Mantiene el modo de repetición para los valores de posición superiores a la posición de la última trama.

Funciones de acceso:

Qt3DAnimation::QKeyframeAnimation::RepeatMode endMode() const
void setEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode)

Señal de aviso:

void endModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode endMode)

framePositions : QList<float>

Contiene las posiciones de los fotogramas clave. Cada posición de la lista especifica la posición del fotograma clave correspondiente con el mismo índice. Los valores deben estar en orden ascendente. Los valores pueden ser positivos o negativos y no tienen ninguna unidad predefinida.

Funciones de acceso:

QList<float> framePositions() const
void setFramePositions(const QList<float> &positions)

Señal notificadora:

void framePositionsChanged(const QList<float> &positions)

startMode : RepeatMode

Mantiene el modo de repetición para los valores de posición inferiores a la posición del primer fotograma.

Funciones de acceso:

Qt3DAnimation::QKeyframeAnimation::RepeatMode startMode() const
void setStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode)

Señal de aviso:

void startModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode startMode)

target : Qt3DCore::QTransform*

Contiene el destino QTransform al que se aplica la animación.

Funciones de acceso:

Qt3DCore::QTransform *target() const
void setTarget(Qt3DCore::QTransform *target)

Señal notificadora:

void targetChanged(Qt3DCore::QTransform *target)

targetName : QString

Contiene el nombre de la transformación de destino. Se trata de una propiedad que facilita la correspondencia entre la transformación de destino y el fotograma clave de la animación. El nombre suele ser el mismo que el de la entidad padre de la transformación objetivo, pero no tiene por qué serlo.

Funciones de acceso:

QString targetName() const
void setTargetName(const QString &name)

Señal del notificador:

void targetNameChanged(const QString &name)

Documentación de la función miembro

[explicit] QKeyframeAnimation::QKeyframeAnimation(QObject *parent = nullptr)

Construye un QKeyframeAnimation con parent.

void QKeyframeAnimation::addKeyframe(Qt3DCore::QTransform *keyframe)

Añade un nuevo keyframe al final de la animación. El QTransform se puede añadir a la animación varias veces.

QList<Qt3DCore::QTransform *> QKeyframeAnimation::keyframeList() const

Devuelve la lista de fotogramas clave.

void QKeyframeAnimation::removeKeyframe(Qt3DCore::QTransform *keyframe)

Elimina un keyframe de la animación. Si el mismo QTransform se establece como fotograma clave varias veces, se eliminan todas las apariciones.

void QKeyframeAnimation::setKeyframes(const QList<Qt3DCore::QTransform *> &keyframes)

Establece el keyframes de la animación. Los fotogramas clave antiguos se borran.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.