![]() |
Qt 6.x
The Qt SDK
|
#include <qquicksmoothedanimation_p.h>
Public Types | |
enum | ReversingMode { Eased , Immediate , Sync } |
![]() | |
enum | ThreadingModel { GuiThread , RenderThread , AnyThread } |
enum | Loops { Infinite = -2 } |
enum | TransitionDirection { Forward , Backward } |
Signals | |
void | velocityChanged () |
void | reversingModeChanged () |
void | maximumEasingTimeChanged () |
![]() | |
void | durationChanged (int) |
void | fromChanged () |
void | toChanged () |
void | easingChanged (const QEasingCurve &) |
void | propertiesChanged (const QString &) |
void | targetChanged () |
void | propertyChanged () |
![]() | |
void | started () |
void | stopped () |
void | runningChanged (bool) |
void | pausedChanged (bool) |
void | alwaysRunToEndChanged (bool) |
void | loopCountChanged (int) |
Q_REVISION (2, 12) void finished() | |
![]() | |
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) |
QAbstractAnimationJob * | transition (QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override |
![]() | |
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) |
![]() | |
QQuickPropertyAnimation (QObject *parent=nullptr) | |
\qmltype PropertyAnimation \instantiates QQuickPropertyAnimation \inqmlmodule QtQuick\inherits Animation | |
~QQuickPropertyAnimation () override | |
virtual int | duration () const |
\qmlproperty int QtQuick::PropertyAnimation::duration This property holds the duration of the animation, in milliseconds. | |
virtual void | setDuration (int) |
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 &) |
QObject * | target () const |
void | setTargetObject (QObject *) |
QString | property () const |
void | setProperty (const QString &) |
QString | properties () const |
void | setProperties (const QString &) |
QQmlListProperty< QObject > | targets () |
QQmlListProperty< QObject > | exclude () |
![]() | |
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) |
QQuickAnimationGroup * | group () 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 |
virtual QAbstractAnimationJob * | transition (QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) |
QAbstractAnimationJob * | qtAnimation () |
![]() | |
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< QString > | bindableObjectName () |
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). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
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::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), 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 (const QString &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 > | |
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 QObjectList & | children () 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< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () 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 . | |
![]() | |
QQmlPropertyValueSource () | |
Constructs a QQmlPropertyValueSource. | |
virtual | ~QQmlPropertyValueSource () |
Destroys the value source. | |
virtual void | setTarget (const QQmlProperty &)=0 |
Set the target property for the value source. | |
![]() | |
QQmlParserStatus () | |
virtual | ~QQmlParserStatus () |
virtual void | classBegin ()=0 |
Invoked after class creation, but before any properties have been set. | |
virtual void | componentComplete ()=0 |
Invoked after the root component that caused this instantiation has completed construction. | |
Properties | |
qreal | velocity |
ReversingMode | reversingMode |
qreal | maximumEasingTime |
![]() | |
qreal | from |
qreal | to |
![]() | |
int | duration |
QVariant | from |
QVariant | to |
QEasingCurve | easing |
QObject * | target |
QString | property |
QString | properties |
QQmlListProperty< QObject > | targets |
QQmlListProperty< QObject > | exclude |
\qmlproperty list<QtObject> QtQuick::PropertyAnimation::exclude This property holds the items not to be affected by this animation. | |
![]() | |
bool | running |
bool | paused |
bool | alwaysRunToEnd |
int | loops |
![]() | |
QString | objectName |
the name of this object | |
Additional Inherited Members | |
![]() | |
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() | |
![]() | |
void | deleteLater () |
\threadsafe | |
![]() | |
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) |
![]() | |
QQuickNumberAnimation (QQuickPropertyAnimationPrivate &dd, QObject *parent) | |
![]() | |
QQuickStateActions | createTransitionActions (QQuickStateActions &actions, QQmlProperties &modified, QObject *defaultTarget=nullptr) |
QQuickPropertyAnimation (QQuickPropertyAnimationPrivate &dd, QObject *parent) | |
QAbstractAnimationJob * | transition (QQuickStateActions &actions, QQmlProperties &modified, TransitionDirection direction, QObject *defaultTarget=nullptr) override |
![]() | |
QQuickAbstractAnimation (QQuickAbstractAnimationPrivate &dd, QObject *parent) | |
QAbstractAnimationJob * | initInstance (QAbstractAnimationJob *animation) |
![]() | |
QObject * | sender () 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) | |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
Definition at line 27 of file qquicksmoothedanimation_p.h.
Enumerator | |
---|---|
Eased | |
Immediate | |
Sync |
Definition at line 39 of file qquicksmoothedanimation_p.h.
\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:
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.
Definition at line 333 of file qquicksmoothedanimation.cpp.
|
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 458 of file qquicksmoothedanimation.cpp.
References d.
Referenced by setDuration().
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 514 of file qquicksmoothedanimation.cpp.
References d.
|
signal |
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 431 of file qquicksmoothedanimation.cpp.
References d.
|
signal |
|
overridevirtual |
Reimplemented from QQuickPropertyAnimation.
Definition at line 464 of file qquicksmoothedanimation.cpp.
References d, duration(), and QQuickPropertyAnimation::setDuration().
void QQuickSmoothedAnimation::setMaximumEasingTime | ( | int | v | ) |
Definition at line 520 of file qquicksmoothedanimation.cpp.
References d, emit, and maximumEasingTimeChanged().
void QQuickSmoothedAnimation::setReversingMode | ( | ReversingMode | m | ) |
Definition at line 437 of file qquicksmoothedanimation.cpp.
References d, emit, and reversingModeChanged().
\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 493 of file qquicksmoothedanimation.cpp.
References d, emit, and velocityChanged().
|
overridevirtual |
Reimplemented from QQuickPropertyAnimation.
Definition at line 363 of file qquicksmoothedanimation.cpp.
References QAnimationGroupJob::appendAnimation(), QSet< T >::contains(), copy(), QQuickPropertyAnimation::createTransitionActions(), d, direction, i, QSmoothedAnimation::initialVelocity, QQuickAbstractAnimation::initInstance(), QSet< T >::insert(), isActive, QList< T >::isEmpty(), QSmoothedAnimation::maximumEasingTime, QSmoothedAnimation::prepareForRestart(), QQuickPropertyAnimation::property, Q_UNUSED, QSmoothedAnimation::reversingMode, QList< T >::size(), QSmoothedAnimation::target, QSmoothedAnimation::to, QSmoothedAnimation::trackVelocity, QSmoothedAnimation::userDuration, and QSmoothedAnimation::velocity.
qreal QQuickSmoothedAnimation::velocity | ( | ) | const |
Definition at line 475 of file qquicksmoothedanimation.cpp.
References d.
|
signal |
|
readwrite |
Definition at line 66 of file qquicksmoothedanimation_p.h.
|
readwrite |
Definition at line 66 of file qquicksmoothedanimation_p.h.
|
readwrite |
Definition at line 66 of file qquicksmoothedanimation_p.h.