Qt3DAnimation::QKeyframeAnimation Class
class Qt3DAnimation::QKeyframeAnimationEine Klasse, die eine einfache Keyframe-Animation für „ QTransform “ implementiert. Mehr...
| Überschrift: | #include <qkeyframeanimation.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3danimation) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
| qmake: | QT += 3danimation |
| In QML: | KeyframeAnimation |
| Erbt von: | Qt3DAnimation::QAbstractAnimation |
| Status: | Technologievorschau |
Diese Klasse befindet sich in der Technologievorschau und kann sich noch ändern.
Öffentliche Typen
| enum | RepeatMode { None, Constant, Repeat } |
Eigenschaften
|
|
Öffentliche Funktionen
| 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 |
Öffentliche Slots
| 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) |
Signale
| 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) |
Ausführliche Beschreibung
Eine „ Qt3DAnimation::QKeyframeAnimation “-Klasse implementiert eine einfache Keyframe-Animation, die zur Animation von „ QTransform “ verwendet werden kann. Die Keyframes bestehen aus mehreren zeitgesteuerten `QTransforms`, die interpoliert und auf das Zielobjekt ` QTransform` angewendet werden. Zwischen den Keyframes wird ` QEasingCurve ` verwendet, um den Interpolator zu steuern. ` RepeatMode ` kann festgelegt werden, wenn die in der `QKeyframeAnimation` festgelegte Position unterhalb oder oberhalb der in den Keyframe-Positionen definierten Werte liegt.
Dokumentation zu den Mitgliedstypen
enum QKeyframeAnimation::RepeatMode
Diese Aufzählung legt fest, wie Positionswerte außerhalb der Keyframe-Werte behandelt werden.
| Konstante | Wert | Beschreibung |
|---|---|---|
Qt3DAnimation::QKeyframeAnimation::None | 0 | Die Animation wird nicht auf die Zieltransformation angewendet. |
Qt3DAnimation::QKeyframeAnimation::Constant | 1 | Der Wert des Rand-Keyframes wird verwendet. |
Qt3DAnimation::QKeyframeAnimation::Repeat | 2 | Die Animation wird wiederholt. |
Eigenschaftsdokumentation
easing : QEasingCurve
Enthält die Überblendkurve des Interpolators zwischen den Keyframes.
Zugriffsfunktionen:
| QEasingCurve | easing() const |
| void | setEasing(const QEasingCurve &easing) |
Benachrichtigungssignal:
| void | easingChanged(const QEasingCurve &easing) |
endMode : RepeatMode
Behält den Wiederholungsmodus für die Positionswerte bei, die größer sind als die Position des letzten Frames.
Zugriffsfunktionen:
| Qt3DAnimation::QKeyframeAnimation::RepeatMode | endMode() const |
| void | setEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
Benachrichtigungssignal:
| void | endModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode endMode) |
framePositions : QList<float>
Enthält die Positionen der Keyframes. Jede Position in der Liste gibt die Position des entsprechenden Keyframes mit demselben Index an. Die Werte müssen in aufsteigender Reihenfolge angeordnet sein. Die Werte können positiv oder negativ sein und haben keine vordefinierte Einheit.
Zugriffsfunktionen:
| QList<float> | framePositions() const |
| void | setFramePositions(const QList<float> &positions) |
Benachrichtigungssignal:
| void | framePositionsChanged(const QList<float> &positions) |
startMode : RepeatMode
Speichert den Wiederholungsmodus für die Positionswerte, die kleiner sind als die Position des ersten Frames.
Zugriffsfunktionen:
| Qt3DAnimation::QKeyframeAnimation::RepeatMode | startMode() const |
| void | setStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
Benachrichtigungssignal:
| void | startModeChanged(Qt3DAnimation::QKeyframeAnimation::RepeatMode startMode) |
target : Qt3DCore::QTransform*
Enthält das Ziel QTransform, auf das die Animation angewendet wird.
Zugriffsfunktionen:
| Qt3DCore::QTransform * | target() const |
| void | setTarget(Qt3DCore::QTransform *target) |
Notifier-Signal:
| void | targetChanged(Qt3DCore::QTransform *target) |
targetName : QString
Enthält den Namen der Zieltransformation. Dies ist eine Komfort-Eigenschaft, die es einfacher macht, die Zieltransformation der Keyframe-Animation zuzuordnen. Der Name entspricht in der Regel dem Namen der übergeordneten Entität der Zieltransformation, muss dies jedoch nicht zwingend tun.
Zugriffsfunktionen:
| QString | targetName() const |
| void | setTargetName(const QString &name) |
Notifier-Signal:
| void | targetNameChanged(const QString &name) |
Dokumentation der Member-Funktionen
[explicit] QKeyframeAnimation::QKeyframeAnimation(QObject *parent = nullptr)
Erstellt eine `QKeyframeAnimation` mit ` parent`.
void QKeyframeAnimation::addKeyframe(Qt3DCore::QTransform *keyframe)
Fügt am Ende der Animation ein neues „ keyframe “ hinzu. Das „ QTransform “ kann der Animation mehrfach hinzugefügt werden.
QList<Qt3DCore::QTransform *> QKeyframeAnimation::keyframeList() const
Gibt die Liste der Keyframes zurück.
void QKeyframeAnimation::removeKeyframe(Qt3DCore::QTransform *keyframe)
Entfernt einen „ keyframe “ aus der Animation. Wenn derselbe „ QTransform “ mehrfach als Keyframe festgelegt wurde, werden alle Vorkommen entfernt.
void QKeyframeAnimation::setKeyframes(const QList<Qt3DCore::QTransform *> &keyframes)
Legt den „ keyframes “ der Animation fest. Alte Keyframes werden gelöscht.
© 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.