Qt 4.8
Public Types | Signals | Public Functions | Protected Functions | Static Private Functions | Properties | Friends | Related Functions | List of all members
QVariantAnimation Class Referenceabstract

The QVariantAnimation class provides an abstract base class for animations. More...

#include <qvariantanimation.h>

Inheritance diagram for QVariantAnimation:
QAbstractAnimation QObject QDeclarativeBulkValueAnimator QPropertyAnimation QTabBarPrivate::Tab::TabBarAnimation QTreeViewPrivate::AnimatedOperation

Public Types

typedef QVariant(* Interpolator) (const void *from, const void *to, qreal progress)
 
typedef QPair< qreal, QVariantKeyValue
 This is a typedef for QPair<qreal, QVariant>. More...
 
typedef QVector< KeyValueKeyValues
 This is a typedef for QVector<KeyValue> More...
 
- Public Types inherited from QAbstractAnimation
enum  DeletionPolicy { KeepWhenStopped = 0, DeleteWhenStopped }
 
enum  Direction { Forward, Backward }
 This enum describes the direction of the animation when in Running state. More...
 
enum  State { Stopped, Paused, Running }
 This enum describes the state of the animation. More...
 

Signals

void valueChanged (const QVariant &value)
 QVariantAnimation emits this signal whenever the current value changes. More...
 
- Signals inherited from QAbstractAnimation
void currentLoopChanged (int currentLoop)
 QAbstractAnimation emits this signal whenever the current loop changes. More...
 
void directionChanged (QAbstractAnimation::Direction)
 QAbstractAnimation emits this signal whenever the direction has been changed. More...
 
void finished ()
 QAbstractAnimation emits this signal after the animation has stopped and has reached the end. More...
 
void stateChanged (QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
 QAbstractAnimation emits this signal whenever the state of the animation has changed from oldState to newState. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 

Public Functions

QVariant currentValue () const
 
int duration () const
 
QEasingCurve easingCurve () const
 
QVariant endValue () const
 
QVariant keyValueAt (qreal step) const
 Returns the key frame value for the given step. More...
 
KeyValues keyValues () const
 Returns the key frames of this animation. More...
 
 QVariantAnimation (QObject *parent=0)
 Construct a QVariantAnimation object. More...
 
void setDuration (int msecs)
 
void setEasingCurve (const QEasingCurve &easing)
 
void setEndValue (const QVariant &value)
 
void setKeyValueAt (qreal step, const QVariant &value)
 Creates a key frame at the given step with the given value. More...
 
void setKeyValues (const KeyValues &values)
 Replaces the current set of key frames with the given keyValues. More...
 
void setStartValue (const QVariant &value)
 
QVariant startValue () const
 
 ~QVariantAnimation ()
 Destroys the animation. More...
 
- Public Functions inherited from QAbstractAnimation
int currentLoop () const
 
int currentLoopTime () const
 Returns the current time inside the current loop. More...
 
int currentTime () const
 
Direction direction () const
 
QAnimationGroupgroup () const
 If this animation is part of a QAnimationGroup, this function returns a pointer to the group; otherwise, it returns 0. More...
 
int loopCount () const
 
 QAbstractAnimation (QObject *parent=0)
 Constructs the QAbstractAnimation base class, and passes parent to QObject's constructor. More...
 
void setDirection (Direction direction)
 
void setLoopCount (int loopCount)
 
State state () const
 
int totalDuration () const
 Returns the total and effective duration of the animation, including the loop count. More...
 
virtual ~QAbstractAnimation ()
 Stops the animation if it's running, then destroys the QAbstractAnimation. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) 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. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
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. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Protected Functions

bool event (QEvent *event)
 Reimplemented Function More...
 
virtual QVariant interpolated (const QVariant &from, const QVariant &to, qreal progress) const
 This virtual function returns the linear interpolation between variants from and to, at progress, usually a value between 0 and 1. More...
 
 QVariantAnimation (QVariantAnimationPrivate &dd, QObject *parent=0)
 
void updateCurrentTime (int)
 Reimplemented Function More...
 
virtual void updateCurrentValue (const QVariant &value)=0
 This pure virtual function is called every time the animation's current value changes. More...
 
void updateState (QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
 Reimplemented Function More...
 
- Protected Functions inherited from QAbstractAnimation
 QAbstractAnimation (QAbstractAnimationPrivate &dd, QObject *parent=0)
 
virtual void updateDirection (QAbstractAnimation::Direction direction)
 This virtual function is called by QAbstractAnimation when the direction of the animation is changed. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 

Static Private Functions

static void registerInterpolator (Interpolator func, int interpolationType)
 

Properties

QVariant currentValue
 the current value of the animation. More...
 
int duration
 the duration of the animation More...
 
QEasingCurve easingCurve
 the easing curve of the animation More...
 
QVariant endValue
 the end value of the animation More...
 
QVariant startValue
 the optional start value of the animation More...
 

Friends

template<typename T >
void qRegisterAnimationInterpolator (QVariant(*func)(const T &, const T &, qreal))
 

Related Functions

(Note that these are not member functions.)

void qRegisterAnimationInterpolator (QVariant(*func)(const T &from, const T &to, qreal progress))
 

Additional Inherited Members

- Public Slots inherited from QAbstractAnimation
void pause ()
 Pauses the animation. More...
 
void resume ()
 Resumes the animation after it was paused. More...
 
void setCurrentTime (int msecs)
 
void setPaused (bool)
 If paused is true, the animation is paused. More...
 
void start (QAbstractAnimation::DeletionPolicy policy=KeepWhenStopped)
 Starts the animation. More...
 
void stop ()
 Stops the animation. More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QVariantAnimation class provides an abstract base class for animations.

Since
4.6

This class is part of The Animation Framework. It serves as a base class for property and item animations, with functions for shared functionality.

QVariantAnimation cannot be used directly as it is an abstract class; it has a pure virtual method called updateCurrentValue(). The class performs interpolation over QVariant, but leaves using the interpolated values to its subclasses. Currently, Qt provides QPropertyAnimation, which animates Qt Qt's Property System{properties}. See the QPropertyAnimation class description if you wish to animate such properties.

You can then set start and end values for the property by calling setStartValue() and setEndValue(), and finally call start() to start the animation. QVariantAnimation will interpolate the property of the target object and emit valueChanged(). To react to a change in the current value you have to reimplement the updateCurrentValue() virtual function.

It is also possible to set values at specified steps situated between the start and end value. The interpolation will then touch these points at the specified steps. Note that the start and end values are defined as the key values at 0.0 and 1.0.

There are two ways to affect how QVariantAnimation interpolates the values. You can set an easing curve by calling setEasingCurve(), and configure the duration by calling setDuration(). You can change how the QVariants are interpolated by creating a subclass of QVariantAnimation, and reimplementing the virtual interpolated() function.

Subclassing QVariantAnimation can be an alternative if you have QVariant that you do not wish to declare as Qt properties. Note, however, that you in most cases will be better off declaring your QVariant as a property.

Not all QVariant types are supported. Below is a list of currently supported QVariant types:

If you need to interpolate other variant types, including custom types, you have to implement interpolation for these yourself. To do this, you can register an interpolator function for a given type. This function takes 3 parameters: the start value, the end value and the current progress.

Example:

QVariant myColorInterpolator(const QColor &start, const QColor &end, qreal progress)
{
...
return QColor(...);
}
...
qRegisterAnimationInterpolator<QColor>(myColorInterpolator);

Another option is to reimplement interpolated(), which returns interpolation values for the value being interpolated.

Warning
This function is not part of the public interface. We need some snippets around here.
See also
QPropertyAnimation, QAbstractAnimation, {The Animation Framework}

Definition at line 60 of file qvariantanimation.h.

Typedefs

◆ Interpolator

QVariantAnimation::Interpolator
Warning
This function is not part of the public interface.

This is a typedef for a pointer to a function with the following signature:

QVariant myInterpolator(const QVariant &from, const QVariant &to, qreal progress);

Definition at line 96 of file qvariantanimation.h.

◆ KeyValue

This is a typedef for QPair<qreal, QVariant>.

Definition at line 70 of file qvariantanimation.h.

◆ KeyValues

This is a typedef for QVector<KeyValue>

Definition at line 71 of file qvariantanimation.h.

Constructors and Destructors

◆ QVariantAnimation() [1/2]

QVariantAnimation::QVariantAnimation ( QObject parent = 0)

Construct a QVariantAnimation object.

parent is passed to QAbstractAnimation's constructor.

Definition at line 361 of file qvariantanimation.cpp.

362 {
363 }
QAbstractAnimation(QObject *parent=0)
Constructs the QAbstractAnimation base class, and passes parent to QObject&#39;s constructor.

◆ ~QVariantAnimation()

QVariantAnimation::~QVariantAnimation ( )

Destroys the animation.

Definition at line 375 of file qvariantanimation.cpp.

376 {
377 }

◆ QVariantAnimation() [2/2]

QVariantAnimation::QVariantAnimation ( QVariantAnimationPrivate dd,
QObject parent = 0 
)
protected
Warning
This function is not part of the public interface.

Definition at line 368 of file qvariantanimation.cpp.

368  : QAbstractAnimation(dd, parent)
369 {
370 }
QAbstractAnimation(QObject *parent=0)
Constructs the QAbstractAnimation base class, and passes parent to QObject&#39;s constructor.

Functions

◆ currentValue()

QVariant QVariantAnimation::currentValue ( ) const

Referenced by setKeyValues().

◆ duration()

int QVariantAnimation::duration ( ) const
virtual

◆ easingCurve()

QEasingCurve QVariantAnimation::easingCurve ( ) const

Referenced by ~QVariantAnimation().

◆ endValue()

QVariant QVariantAnimation::endValue ( ) const

◆ event()

bool QVariantAnimation::event ( QEvent event)
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractAnimation.

Definition at line 682 of file qvariantanimation.cpp.

Referenced by QPropertyAnimation::event(), and CloseButton::minimumSizeHint().

683 {
684  return QAbstractAnimation::event(event);
685 }
bool event(QEvent *event)
Reimplemented Function

◆ interpolated()

QVariant QVariantAnimation::interpolated ( const QVariant from,
const QVariant to,
qreal  progress 
) const
protectedvirtual

This virtual function returns the linear interpolation between variants from and to, at progress, usually a value between 0 and 1.

You can reimplement this function in a subclass of QVariantAnimation to provide your own interpolation algorithm.

Note that in order for the interpolation to work with a QEasingCurve that return a value smaller than 0 or larger than 1 (such as QEasingCurve::InBack) you should make sure that it can extrapolate. If the semantic of the datatype does not allow extrapolation this function should handle that gracefully.

You should call the QVariantAnimation implementation of this function if you want your class to handle the types already supported by Qt (see class QVariantAnimation description for a list of supported types).

See also
QEasingCurve

Definition at line 717 of file qvariantanimation.cpp.

718 {
719  return d_func()->interpolator(from.constData(), to.constData(), progress);
720 }
const void * constData() const
Definition: qvariant.cpp:3065

◆ keyValueAt()

QVariant QVariantAnimation::keyValueAt ( qreal  step) const

Returns the key frame value for the given step.

The given step must be in the range 0 to 1. If there is no KeyValue for step, it returns an invalid QVariant.

See also
keyValues(), setKeyValueAt()

Definition at line 597 of file qvariantanimation.cpp.

Referenced by setDuration(), and setStartValue().

598 {
599  return d_func()->valueAt(step);
600 }

◆ keyValues()

QVariantAnimation::KeyValues QVariantAnimation::keyValues ( ) const

Returns the key frames of this animation.

See also
keyValueAt(), setKeyValues()

Definition at line 632 of file qvariantanimation.cpp.

Referenced by setKeyValues().

633 {
634  return d_func()->keyValues;
635 }

◆ registerInterpolator()

void QVariantAnimation::registerInterpolator ( QVariantAnimation::Interpolator  func,
int  interpolationType 
)
staticprivate
Warning
This function is not part of the public interface. Registers a custom interpolator func for the specific interpolationType. The interpolator has to be registered before the animation is constructed. To unregister (and use the default interpolator) set func to 0.

Definition at line 447 of file qvariantanimation.cpp.

Referenced by qRegisterAnimationInterpolator().

448 {
449  // will override any existing interpolators
450  QInterpolatorVector *interpolators = registeredInterpolators();
451  // When built on solaris with GCC, the destructors can be called
452  // in such an order that we get here with interpolators == NULL,
453  // to continue causes the app to crash on exit with a SEGV
454  if (interpolators) {
455 #ifndef QT_NO_THREAD
456  QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators));
457 #endif
458  if (int(interpolationType) >= interpolators->count())
459  interpolators->resize(int(interpolationType) + 1);
460  interpolators->replace(interpolationType, func);
461  }
462 }
void replace(int i, const T &t)
Replaces the item at index position i with value.
Definition: qvector.h:382
int count(const T &t) const
Returns the number of occurrences of value in the vector.
Definition: qvector.h:742
The QVector class is a template class that provides a dynamic array.
Definition: qdatastream.h:64
void resize(int size)
Sets the size of the vector to size.
Definition: qvector.h:342
The QMutexLocker class is a convenience class that simplifies locking and unlocking mutexes...
Definition: qmutex.h:101
static QMutex * globalInstanceGet(const void *address)
Returns a QMutex from the global mutex pool.
Definition: qmutexpool.cpp:150

◆ setDuration()

void QVariantAnimation::setDuration ( int  msecs)

Definition at line 531 of file qvariantanimation.cpp.

Referenced by QWidgetAnimator::animate(), and QTabBarPrivate::Tab::startAnimation().

532 {
534  if (msecs < 0) {
535  qWarning("QVariantAnimation::setDuration: cannot set a negative duration");
536  return;
537  }
538  if (d->duration == msecs)
539  return;
540  d->duration = msecs;
541  d->recalculateCurrentInterval();
542 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QVariantAnimation class provides an abstract base class for animations.
Q_CORE_EXPORT void qWarning(const char *,...)

◆ setEasingCurve()

void QVariantAnimation::setEasingCurve ( const QEasingCurve easing)

Definition at line 410 of file qvariantanimation.cpp.

Referenced by QWidgetAnimator::animate(), and QTabBarPrivate::Tab::TabBarAnimation::TabBarAnimation().

411 {
413  d->easing = easing;
414  d->recalculateCurrentInterval();
415 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QVariantAnimation class provides an abstract base class for animations.

◆ setEndValue()

void QVariantAnimation::setEndValue ( const QVariant value)

Definition at line 584 of file qvariantanimation.cpp.

Referenced by QWidgetAnimator::animate(), QStateMachinePrivate::initializeAnimation(), and QTabBarPrivate::Tab::startAnimation().

585 {
586  setKeyValueAt(1, value);
587 }
void setKeyValueAt(qreal step, const QVariant &value)
Creates a key frame at the given step with the given value.

◆ setKeyValueAt()

void QVariantAnimation::setKeyValueAt ( qreal  step,
const QVariant value 
)

Creates a key frame at the given step with the given value.

The given step must be in the range 0 to 1.

See also
setKeyValues(), keyValueAt()

Definition at line 622 of file qvariantanimation.cpp.

Referenced by setEndValue(), and setStartValue().

623 {
624  d_func()->setValueAt(step, value);
625 }

◆ setKeyValues()

void QVariantAnimation::setKeyValues ( const KeyValues keyValues)

Replaces the current set of key frames with the given keyValues.

the step of the key frames must be in the range 0 to 1.

See also
keyValues(), keyValueAt()

Definition at line 643 of file qvariantanimation.cpp.

644 {
646  d->keyValues = keyValues;
647  qSort(d->keyValues.begin(), d->keyValues.end(), animationValueLessThan);
648  d->recalculateCurrentInterval(/*force=*/true);
649 }
double d
Definition: qnumeric_p.h:62
KeyValues keyValues() const
Returns the key frames of this animation.
#define Q_D(Class)
Definition: qglobal.h:2482
static bool animationValueLessThan(const QVariantAnimation::KeyValue &p1, const QVariantAnimation::KeyValue &p2)
The QVariantAnimation class provides an abstract base class for animations.
void qSort(RandomAccessIterator start, RandomAccessIterator end)
Definition: qalgorithms.h:177

◆ setStartValue()

void QVariantAnimation::setStartValue ( const QVariant value)

Definition at line 563 of file qvariantanimation.cpp.

Referenced by QTabBarPrivate::Tab::startAnimation().

564 {
565  setKeyValueAt(0, value);
566 }
void setKeyValueAt(qreal step, const QVariant &value)
Creates a key frame at the given step with the given value.

◆ startValue()

QVariant QVariantAnimation::startValue ( ) const

◆ updateCurrentTime()

void QVariantAnimation::updateCurrentTime ( int  )
protectedvirtual

Reimplemented Function

Implements QAbstractAnimation.

Definition at line 725 of file qvariantanimation.cpp.

726 {
727  d_func()->recalculateCurrentInterval();
728 }

◆ updateCurrentValue()

void QVariantAnimation::updateCurrentValue ( const QVariant value)
protectedpure virtual

This pure virtual function is called every time the animation's current value changes.

The value argument is the new current value.

See also
currentValue

Implemented in QDeclarativeBulkValueAnimator, QTabBarPrivate::Tab::TabBarAnimation, QTreeViewPrivate::AnimatedOperation, and QPropertyAnimation.

◆ updateState()

void QVariantAnimation::updateState ( QAbstractAnimation::State  newState,
QAbstractAnimation::State  oldState 
)
protectedvirtual

Reimplemented Function

Reimplemented from QAbstractAnimation.

Definition at line 690 of file qvariantanimation.cpp.

Referenced by QPropertyAnimation::updateState(), and QDeclarativeBulkValueAnimator::updateState().

692 {
693  Q_UNUSED(oldState);
694  Q_UNUSED(newState);
695 }
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
Definition: qglobal.h:1729

◆ valueChanged

void QVariantAnimation::valueChanged ( const QVariant value)
signal

QVariantAnimation emits this signal whenever the current value changes.

See also
currentValue, startValue, endValue

Friends and Related Functions

◆ qRegisterAnimationInterpolator [1/2]

template<typename T >
void qRegisterAnimationInterpolator ( QVariant(*)(const T &, const T &, qreal func)
friend

◆ qRegisterAnimationInterpolator() [2/2]

void qRegisterAnimationInterpolator ( QVariant(*)(const T &from, const T &to, qreal progress)  func)
related
Note
This class or function is threadsafe.

Registers a custom interpolator func for the template type T. The interpolator has to be registered before the animation is constructed. To unregister (and use the default interpolator) set func to 0.

Definition at line 120 of file qvariantanimation.h.

120  {
121  QVariantAnimation::registerInterpolator(reinterpret_cast<QVariantAnimation::Interpolator>(func), qMetaTypeId<T>());
122 }
static void registerInterpolator(Interpolator func, int interpolationType)

Properties

◆ currentValue

QVariant QVariantAnimation::currentValue
private

the current value of the animation.

This property describes the current value; an interpolated value between the start value and the end value, using the current time for progress. The value itself is obtained from interpolated(), which is called repeatedly as the animation is running.

QVariantAnimation calls the virtual updateCurrentValue() function when the current value changes. This is particularly useful for subclasses that need to track updates. For example, QPropertyAnimation uses this function to animate Qt Qt's Property System{properties}.

See also
startValue, endValue

Definition at line 65 of file qvariantanimation.h.

◆ duration

int QVariantAnimation::duration
private

the duration of the animation

This property describes the duration in milliseconds of the animation. The default duration is 250 milliseconds.

See also
QAbstractAnimation::duration()

Definition at line 66 of file qvariantanimation.h.

◆ easingCurve

QEasingCurve QVariantAnimation::easingCurve
private

the easing curve of the animation

This property defines the easing curve of the animation. By default, a linear easing curve is used, resulting in linear interpolation. Other curves are provided, for instance, QEasingCurve::InCirc, which provides a circular entry curve. Another example is QEasingCurve::InOutElastic, which provides an elastic effect on the values of the interpolated variant.

QVariantAnimation will use the QEasingCurve::valueForProgress() to transform the "normalized progress" (currentTime / totalDuration) of the animation into the effective progress actually used by the animation. It is this effective progress that will be the progress when interpolated() is called. Also, the steps in the keyValues are referring to this effective progress.

The easing curve is used with the interpolator, the interpolated() virtual function, the animation's duration, and iterationCount, to control how the current value changes as the animation progresses.

Definition at line 67 of file qvariantanimation.h.

◆ endValue

QVariant QVariantAnimation::endValue
private

the end value of the animation

This property describes the end value of the animation.

See also
startValue

Definition at line 64 of file qvariantanimation.h.

Referenced by QStateMachinePrivate::applyProperties().

◆ startValue

QVariant QVariantAnimation::startValue
private

the optional start value of the animation

This property describes the optional start value of the animation. If omitted, or if a null QVariant is assigned as the start value, the animation will use the current position of the end when the animation is started.

See also
endValue

Definition at line 63 of file qvariantanimation.h.


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