QKeyframeAnimation Class
class Qt3DAnimation::QKeyframeAnimationEine Klasse, die eine einfache Keyframe-Animation auf QTransform implementiert. Mehr...
Kopfzeile: | #include <QKeyframeAnimation> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3danimation) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
qmake: | QT += 3danimation |
In QML: | KeyframeAnimation |
Vererbt: | Qt3DAnimation::QAbstractAnimation |
Status: | Veraltet |
Ö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) |
Detaillierte Beschreibung
Die Klasse Qt3DAnimation::QKeyframeAnimation implementiert eine einfache Keyframe-Animation, die zur Animation von QTransform verwendet werden kann. Die Keyframes bestehen aus mehreren zeitgesteuerten QTransformationen, die interpoliert und auf das Ziel QTransform angewendet werden. QEasingCurve wird zwischen den Keyframes verwendet, um den Interpolator zu steuern. RepeatMode kann festgelegt werden, wenn die für QKeyframeAnimation festgelegte Position unter oder über den in den Keyframe-Positionen definierten Werten liegt.
Dokumentation des Membertyps
enum QKeyframeAnimation::RepeatMode
Diese Aufzählung gibt an, wie Positionswerte außerhalb von Keyframe-Werten behandelt werden.
Konstante | Wert | Beschreibung |
---|---|---|
Qt3DAnimation::QKeyframeAnimation::None | 0 | Die Animation wird nicht auf die Zieltransformation angewendet. |
Qt3DAnimation::QKeyframeAnimation::Constant | 1 | Der Rand-Keyframe-Wert wird verwendet. |
Qt3DAnimation::QKeyframeAnimation::Repeat | 2 | Die Animation wird wiederholt. |
Dokumentation der Eigenschaft
easing : QEasingCurve
Hält die Lockerungskurve des Interpolators zwischen Keyframes fest.
Zugriffsfunktionen:
QEasingCurve | easing() const |
void | setEasing(const QEasingCurve &easing) |
Melder-Signal:
void | easingChanged(const QEasingCurve &easing) |
endMode : RepeatMode
Hält den Wiederholungsmodus für die Positionswerte, die größer sind als die letzte Bildposition.
Zugriffsfunktionen:
Qt3DAnimation::QKeyframeAnimation::RepeatMode | endMode() const |
void | setEndMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
Melder-Signal:
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 stehen. 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
Hält den Wiederholungsmodus für die Positionswerte, die kleiner als die erste Bildposition sind.
Zugriffsfunktionen:
Qt3DAnimation::QKeyframeAnimation::RepeatMode | startMode() const |
void | setStartMode(Qt3DAnimation::QKeyframeAnimation::RepeatMode mode) |
Melder-Signal:
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) |
Benachrichtigungssignal:
void | targetChanged(Qt3DCore::QTransform *target) |
targetName : QString
Enthält den Namen der Zieltransformation. Dies ist eine praktische Eigenschaft, die die Zuordnung der Zieltransformation zur Keyframe-Animation erleichtert. Der Name ist in der Regel derselbe wie der Name der übergeordneten Entität der Zieltransformation, muss es aber nicht sein.
Zugriffsfunktionen:
QString | targetName() const |
void | setTargetName(const QString &name) |
Benachrichtigungssignal:
void | targetNameChanged(const QString &name) |
Member Function Dokumentation
[explicit]
QKeyframeAnimation::QKeyframeAnimation(QObject *parent = nullptr)
Konstruiert eine QKeyframeAnimation mit parent.
void QKeyframeAnimation::addKeyframe(Qt3DCore::QTransform *keyframe)
Fügt neue keyframe am Ende der Animation hinzu. Die QTransform kann der Animation mehrmals hinzugefügt werden.
QList<Qt3DCore::QTransform *> QKeyframeAnimation::keyframeList() const
Gibt die Liste der Keyframes zurück.
void QKeyframeAnimation::removeKeyframe(Qt3DCore::QTransform *keyframe)
Entfernt eine keyframe aus der Animation. Wenn dieselbe QTransform mehrmals als Keyframe festgelegt wird, werden alle Vorkommen entfernt.
void QKeyframeAnimation::setKeyframes(const QList<Qt3DCore::QTransform *> &keyframes)
Setzt die keyframes der Animation. Alte Keyframes werden gelöscht.
© 2025 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.