Sur cette page

Qt3DAnimation::QKeyframeAnimation Class

class Qt3DAnimation::QKeyframeAnimation

Une classe implémentant une animation simple par images clés sur QTransform. En savoir plus...

En-tête : #include <qkeyframeanimation.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake : QT += 3danimation
En QML : KeyframeAnimation
Hérite de : Qt3DAnimation::QAbstractAnimation
Statut : Aperçu technologique

Cette classe est en avant-première technologique et est susceptible d'être modifiée.

Types publics

enum RepeatMode { None, Constant, Repeat }

Propriétés

Fonctions publiques

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

Emplacements publics

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)

Signaux

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)

Description détaillée

Une classe « Qt3DAnimation::QKeyframeAnimation » implémente une animation simple par images clés pouvant être utilisée pour animer QTransform. Les images clés se composent de plusieurs QTransforms chronométrées, qui sont interpolées et appliquées à l’ QTransform cible. La méthode ` QEasingCurve ` est utilisée entre les images clés pour contrôler l’interpolateur. La méthode ` RepeatMode ` peut être définie lorsque la position définie pour la `QKeyframeAnimation` est inférieure ou supérieure aux valeurs définies dans les positions des images clés.

Documentation sur les types de membres

enum QKeyframeAnimation::RepeatMode

Cette liste précise comment sont traitées les valeurs de position situées en dehors des valeurs des images clés.

ConstanteValeurDescription
Qt3DAnimation::QKeyframeAnimation::None0L’animation n’est pas appliquée à la transformation cible.
Qt3DAnimation::QKeyframeAnimation::Constant1La valeur de l'image clé de bord est utilisée.
Qt3DAnimation::QKeyframeAnimation::Repeat2L'animation est répétée.

Documentation sur les propriétés

easing : QEasingCurve

Contient la courbe d'atténuation de l'interpolateur entre les images clés.

Fonctions d'accès :

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

Signal de notification :

void easingChanged(const QEasingCurve &easing)

endMode : RepeatMode

Conserve le mode de répétition pour les valeurs de position supérieures à la position de la dernière image.

Fonctions d'accès :

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

Signal de notification :

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

framePositions : QList<float>

Contient les positions des images clés. Chaque position de la liste spécifie la position de l'image clé correspondante portant le même index. Les valeurs doivent être classées par ordre croissant. Elles peuvent être positives ou négatives et n'ont pas d'unité prédéfinie.

Fonctions d'accès :

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

Signal de notification :

void framePositionsChanged(const QList<float> &positions)

startMode : RepeatMode

Définit le mode de répétition pour les valeurs de position inférieures à la position de la première image.

Fonctions d'accès :

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

Signal de notification :

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

target : Qt3DCore::QTransform*

Contient l'QTransform -cible à laquelle l'animation est appliquée.

Fonctions d'accès :

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

Signal de notification :

void targetChanged(Qt3DCore::QTransform *target)

targetName : QString

Contient le nom de la transformation cible. Il s'agit d'une propriété pratique qui facilite l'association de la transformation cible à l'animation par images clés. Le nom correspond généralement à celui de l'entité parente de la transformation cible, mais ce n'est pas obligatoire.

Fonctions d'accès :

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

Signal de notification :

void targetNameChanged(const QString &name)

Documentation des fonctions membres

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

Crée un objet `QKeyframeAnimation` à l'aide de ` parent`.

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

Ajoute une nouvelle « keyframe » à la fin de l'animation. L'« QTransform » peut être ajoutée plusieurs fois à l'animation.

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

Renvoie la liste des images clés.

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

Supprime une « keyframe » de l'animation. Si la même « QTransform » est définie plusieurs fois comme image clé, toutes les occurrences sont supprimées.

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

Définit l'keyframes e de l'animation. Les anciennes images clés sont effacées.

© 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.