Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QQuickSmoothedAnimation Class Reference

#include <qquicksmoothedanimation_p.h>

+ Inheritance diagram for QQuickSmoothedAnimation:
+ Collaboration diagram for QQuickSmoothedAnimation:

Public Types

enum  ReversingMode { Eased , Immediate , Sync }
 
- Public Types inherited from QQuickAbstractAnimation
enum  ThreadingModel { GuiThread , RenderThread , AnyThread }
 
enum  Loops { Infinite = -2 }
 
enum  TransitionDirection { Forward , Backward }
 

Signals

void velocityChanged ()
 
void reversingModeChanged ()
 
void maximumEasingTimeChanged ()
 
- Signals inherited from QQuickPropertyAnimation
void durationChanged (int)
 
void fromChanged ()
 
void toChanged ()
 
void easingChanged (const QEasingCurve &)
 
void propertiesChanged (const QString &)
 
void targetChanged ()
 
void propertyChanged ()
 
- Signals inherited from QQuickAbstractAnimation
void started ()
 
void stopped ()
 
void runningChanged (bool)
 
void pausedChanged (bool)
 
void alwaysRunToEndChanged (bool)
 
void loopCountChanged (int)
 
 Q_REVISION (2, 12) void finished()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QQuickSmoothedAnimation (QObject *parent=nullptr)
 \qmltype SmoothedAnimation \instantiates QQuickSmoothedAnimation \inqmlmodule QtQuick\inherits NumberAnimation
 
ReversingMode reversingMode () const
 \qmlproperty enumeration QtQuick::SmoothedAnimation::reversingMode
 
void setReversingMode (ReversingMode)
 
int duration () const override
 \qmlproperty int QtQuick::SmoothedAnimation::duration
 
void setDuration (int) override
 
qreal velocity () const
 
void setVelocity (qreal)
 \qmlproperty real QtQuick::SmoothedAnimation::velocity
 
int maximumEasingTime () const
 \qmlproperty int QtQuick::SmoothedAnimation::maximumEasingTime
 
void setMaximumEasingTime (int)
 
QAbstractAnimationJobtransition (QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override
 
- Public Member Functions inherited from QQuickNumberAnimation
 QQuickNumberAnimation (QObject *parent=nullptr)
 \qmltype NumberAnimation \instantiates QQuickNumberAnimation \inqmlmodule QtQuick\inherits PropertyAnimation
 
 ~QQuickNumberAnimation () override
 
qreal from () const
 
void setFrom (qreal)
 
qreal to () const
 \qmlproperty real QtQuick::NumberAnimation::to This property holds the end value for the animation.
 
void setTo (qreal)
 
- Public Member Functions inherited from QQuickPropertyAnimation
 QQuickPropertyAnimation (QObject *parent=nullptr)
 \qmltype PropertyAnimation \instantiates QQuickPropertyAnimation \inqmlmodule QtQuick\inherits Animation
 
 ~QQuickPropertyAnimation () override
 
QVariant from () const
 \qmlproperty variant QtQuick::PropertyAnimation::from This property holds the starting value for the animation.
 
void setFrom (const QVariant &)
 
QVariant to () const
 \qmlproperty variant QtQuick::PropertyAnimation::to This property holds the end value for the animation.
 
void setTo (const QVariant &)
 
QEasingCurve easing () const
 Specifies the easing curve used for the animation.
 
void setEasing (const QEasingCurve &)
 
QObjecttarget () const
 
void setTargetObject (QObject *)
 
QString property () const
 
void setProperty (const QString &)
 
QString properties () const
 
void setProperties (const QString &)
 
QQmlListProperty< QObjecttargets ()
 
QQmlListProperty< QObjectexclude ()
 
- Public Member Functions inherited from QQuickAbstractAnimation
 QQuickAbstractAnimation (QObject *parent=nullptr)
 \qmltype Animation \instantiates QQuickAbstractAnimation \inqmlmodule QtQuick
 
 ~QQuickAbstractAnimation () override
 
bool isRunning () const
 \qmlproperty bool QtQuick::Animation::running This property holds whether the animation is currently running.
 
void setRunning (bool)
 \qmlsignal QtQuick::Animation::started()
 
bool isPaused () const
 \qmlproperty bool QtQuick::Animation::paused This property holds whether the animation is currently paused.
 
void setPaused (bool)
 
bool alwaysRunToEnd () const
 \qmlproperty bool QtQuick::Animation::alwaysRunToEnd This property holds whether the animation should run to completion when it is stopped.
 
void setAlwaysRunToEnd (bool)
 
int loops () const
 \qmlproperty int QtQuick::Animation::loops This property holds the number of times the animation should play.
 
void setLoops (int)
 
int duration () const
 
int currentTime ()
 
void setCurrentTime (int)
 
QQuickAnimationGroupgroup () const
 
void setGroup (QQuickAnimationGroup *, int index=-1)
 
void setDefaultTarget (const QQmlProperty &)
 
void setDisableUserControl ()
 
void setEnableUserControl ()
 
bool userControlDisabled () const
 
void classBegin () override
 Invoked after class creation, but before any properties have been set.
 
void componentComplete () override
 Invoked after the root component that caused this instantiation has completed construction.
 
virtual ThreadingModel threadingModel () const
 
QAbstractAnimationJobqtAnimation ()
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 
- Public Member Functions inherited from QQmlPropertyValueSource
 QQmlPropertyValueSource ()
 Constructs a QQmlPropertyValueSource.
 
virtual ~QQmlPropertyValueSource ()
 Destroys the value source.
 
- Public Member Functions inherited from QQmlParserStatus
 QQmlParserStatus ()
 
virtual ~QQmlParserStatus ()
 

Properties

qreal velocity
 
ReversingMode reversingMode
 
qreal maximumEasingTime
 
- Properties inherited from QQuickNumberAnimation
qreal from
 
qreal to
 
- Properties inherited from QQuickPropertyAnimation
int duration
 
QVariant from
 
QVariant to
 
QEasingCurve easing
 
QObjecttarget
 
QString property
 
QString properties
 
QQmlListProperty< QObjecttargets
 
QQmlListProperty< QObjectexclude
 \qmlproperty list<QtObject> QtQuick::PropertyAnimation::exclude This property holds the items not to be affected by this animation.
 
- Properties inherited from QQuickAbstractAnimation
bool running
 
bool paused
 
bool alwaysRunToEnd
 
int loops
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Public Slots inherited from QQuickAbstractAnimation
void restart ()
 \qmlmethod QtQuick::Animation::restart()
 
void start ()
 \qmlmethod QtQuick::Animation::start()
 
void pause ()
 \qmlmethod QtQuick::Animation::pause()
 
void resume ()
 \qmlmethod QtQuick::Animation::resume()
 
void stop ()
 \qmlmethod QtQuick::Animation::stop()
 
void complete ()
 \qmlmethod QtQuick::Animation::complete()
 
- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Protected Member Functions inherited from QQuickNumberAnimation
 QQuickNumberAnimation (QQuickPropertyAnimationPrivate &dd, QObject *parent)
 
- Protected Member Functions inherited from QQuickPropertyAnimation
QQuickStateActions createTransitionActions (QQuickStateActions &actions, QQmlProperties &modified, QObject *defaultTarget=nullptr)
 
 QQuickPropertyAnimation (QQuickPropertyAnimationPrivate &dd, QObject *parent)
 
- Protected Member Functions inherited from QQuickAbstractAnimation
 QQuickAbstractAnimation (QQuickAbstractAnimationPrivate &dd, QObject *parent)
 
QAbstractAnimationJobinitInstance (QAbstractAnimationJob *animation)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

Definition at line 27 of file qquicksmoothedanimation_p.h.

Member Enumeration Documentation

◆ ReversingMode

Enumerator
Eased 
Immediate 
Sync 

Definition at line 39 of file qquicksmoothedanimation_p.h.

Constructor & Destructor Documentation

◆ QQuickSmoothedAnimation()

QQuickSmoothedAnimation::QQuickSmoothedAnimation ( QObject * parent = nullptr)

\qmltype SmoothedAnimation \instantiates QQuickSmoothedAnimation \inqmlmodule QtQuick\inherits NumberAnimation

Allows a property to smoothly track a value.

A SmoothedAnimation animates a property's value to a set target value using an ease in/out quad easing curve. When the target value changes, the easing curves used to animate between the old and new target values are smoothly spliced together to create a smooth movement to the new target value that maintains the current velocity.

The follow example shows one \l Rectangle tracking the position of another using SmoothedAnimation. The green rectangle's x and y values are bound to those of the red rectangle. Whenever these values change, the green rectangle smoothly animates to its new position:

import QtQuick
Rectangle {
width: 800; height: 600
color: "blue"
Rectangle {
width: 60; height: 60
x: rect1.x - 5; y: rect1.y - 5
color: "green"
Behavior on x { SmoothedAnimation { velocity: 200 } }
Behavior on y { SmoothedAnimation { velocity: 200 } }
}
Rectangle {
id: rect1
width: 50; height: 50
color: "red"
}
focus: true
Keys.onRightPressed: rect1.x = rect1.x + 100
Keys.onLeftPressed: rect1.x = rect1.x - 100
Keys.onUpPressed: rect1.y = rect1.y - 100
Keys.onDownPressed: rect1.y = rect1.y + 100
}

A SmoothedAnimation can be configured by setting the \l velocity at which the animation should occur, or the \l duration that the animation should take. If both the \l velocity and \l duration are specified, the one that results in the quickest animation is chosen for each change in the target value.

For example, animating from 0 to 800 will take 4 seconds if a velocity of 200 is set, will take 8 seconds with a duration of 8000 set, and will take 4 seconds with both a velocity of 200 and a duration of 8000 set. Animating from 0 to 20000 will take 10 seconds if a velocity of 200 is set, will take 8 seconds with a duration of 8000 set, and will take 8 seconds with both a velocity of 200 and a duration of 8000 set.

The default velocity of SmoothedAnimation is 200 units/second. Note that if the range of the value being animated is small, then the velocity will need to be adjusted appropriately. For example, the opacity of an item ranges from 0 - 1.0. To enable a smooth animation in this range the velocity will need to be set to a value such as 0.5 units/second. Animating from 0 to 1.0 with a velocity of 0.5 will take 2000 ms to complete.

Like any other animation type, a SmoothedAnimation can be applied in a number of ways, including transitions, behaviors and property value sources. The \l {Animation and Transitions in Qt Quick} documentation shows a variety of methods for creating animations.

See also
SpringAnimation, NumberAnimation, {Animation and Transitions in Qt Quick}, {Qt Quick Examples - Animation}

Definition at line 331 of file qquicksmoothedanimation.cpp.

Member Function Documentation

◆ duration()

int QQuickSmoothedAnimation::duration ( ) const
overridevirtual

\qmlproperty int QtQuick::SmoothedAnimation::duration

This property holds the animation duration, in msecs, used when tracking the source.

Setting this to -1 (the default) disables the duration value.

If the velocity value and the duration value are both enabled, then the animation will use whichever gives the shorter duration.

Reimplemented from QQuickPropertyAnimation.

Definition at line 456 of file qquicksmoothedanimation.cpp.

References d.

Referenced by setDuration().

+ Here is the caller graph for this function:

◆ maximumEasingTime()

int QQuickSmoothedAnimation::maximumEasingTime ( ) const

\qmlproperty int QtQuick::SmoothedAnimation::maximumEasingTime

This property specifies the maximum time, in msecs, any "eases" during the follow should take. Setting this property causes the velocity to "level out" after at a time. Setting a negative value reverts to the normal mode of easing over the entire animation duration.

The default value is -1.

Definition at line 512 of file qquicksmoothedanimation.cpp.

References d.

◆ maximumEasingTimeChanged

void QQuickSmoothedAnimation::maximumEasingTimeChanged ( )
signal

Referenced by setMaximumEasingTime().

+ Here is the caller graph for this function:

◆ reversingMode()

QQuickSmoothedAnimation::ReversingMode QQuickSmoothedAnimation::reversingMode ( ) const

\qmlproperty enumeration QtQuick::SmoothedAnimation::reversingMode

Sets how the SmoothedAnimation behaves if an animation direction is reversed.

Possible values are:

\value SmoothedAnimation.Eased (default) the animation will smoothly decelerate, and then reverse direction \value SmoothedAnimation.Immediate the animation will immediately begin accelerating in the reverse direction, beginning with a velocity of 0 \value SmoothedAnimation.Sync the property is immediately set to the target value

Definition at line 429 of file qquicksmoothedanimation.cpp.

References d.

◆ reversingModeChanged

void QQuickSmoothedAnimation::reversingModeChanged ( )
signal

Referenced by setReversingMode().

+ Here is the caller graph for this function:

◆ setDuration()

void QQuickSmoothedAnimation::setDuration ( int duration)
overridevirtual

Reimplemented from QQuickPropertyAnimation.

Definition at line 462 of file qquicksmoothedanimation.cpp.

References d, duration(), and QQuickPropertyAnimation::setDuration().

+ Here is the call graph for this function:

◆ setMaximumEasingTime()

void QQuickSmoothedAnimation::setMaximumEasingTime ( int v)

Definition at line 518 of file qquicksmoothedanimation.cpp.

References d, emit, and maximumEasingTimeChanged().

+ Here is the call graph for this function:

◆ setReversingMode()

void QQuickSmoothedAnimation::setReversingMode ( ReversingMode m)

Definition at line 435 of file qquicksmoothedanimation.cpp.

References d, emit, and reversingModeChanged().

+ Here is the call graph for this function:

◆ setVelocity()

void QQuickSmoothedAnimation::setVelocity ( qreal v)

\qmlproperty real QtQuick::SmoothedAnimation::velocity

This property holds the average velocity allowed when tracking the 'to' value.

The default velocity of SmoothedAnimation is 200 units/second.

Setting this to -1 disables the velocity value.

If the velocity value and the duration value are both enabled, then the animation will use whichever gives the shorter duration.

Definition at line 491 of file qquicksmoothedanimation.cpp.

References d, emit, and velocityChanged().

+ Here is the call graph for this function:

◆ transition()

QAbstractAnimationJob * QQuickSmoothedAnimation::transition ( QQuickStateActions & actions,
QQmlProperties & modified,
TransitionDirection direction,
QObject * defaultTarget = nullptr )
overridevirtual

Reimplemented from QQuickPropertyAnimation.

Definition at line 361 of file qquicksmoothedanimation.cpp.

References copy(), QQuickPropertyAnimation::createTransitionActions(), d, direction, i, QQuickAbstractAnimation::initInstance(), isActive, QQuickPropertyAnimation::property, and Q_UNUSED.

+ Here is the call graph for this function:

◆ velocity()

qreal QQuickSmoothedAnimation::velocity ( ) const

Definition at line 473 of file qquicksmoothedanimation.cpp.

References d.

◆ velocityChanged

void QQuickSmoothedAnimation::velocityChanged ( )
signal

Referenced by setVelocity().

+ Here is the caller graph for this function:

Property Documentation

◆ maximumEasingTime

qreal QQuickSmoothedAnimation::maximumEasingTime
readwrite

Definition at line 34 of file qquicksmoothedanimation_p.h.

◆ reversingMode

ReversingMode QQuickSmoothedAnimation::reversingMode
readwrite

Definition at line 33 of file qquicksmoothedanimation_p.h.

◆ velocity

qreal QQuickSmoothedAnimation::velocity
readwrite

Definition at line 32 of file qquicksmoothedanimation_p.h.


The documentation for this class was generated from the following files: