QAbstractAnimation

Inheritance diagram of QAbstractAnimation

Inherited by: QVariantAnimation, QPropertyAnimation, QPauseAnimation, QAnimationGroup, QSequentialAnimationGroup, QParallelAnimationGroup

Note

This class was introduced in Qt 4.6

Synopsis

Functions

Virtual functions

Slots

Signals

Detailed Description

The PySide.QtCore.QAbstractAnimation class is the base of all animations.

The class defines the functions for the functionality shared by all animations. By inheriting this class, you can create custom animations that plug into the rest of the animation framework.

The progress of an animation is given by its current time ( PySide.QtCore.QAbstractAnimation.currentLoopTime() ), which is measured in milliseconds from the start of the animation (0) to its end ( PySide.QtCore.QAbstractAnimation.duration() ). The value is updated automatically while the animation is running. It can also be set directly with PySide.QtCore.QAbstractAnimation.setCurrentTime() .

At any point an animation is in one of three states: Running , Stopped , or Paused –as defined by the QAbstractAnimation.State enum. The current state can be changed by calling PySide.QtCore.QAbstractAnimation.start() , PySide.QtCore.QAbstractAnimation.stop() , PySide.QtCore.QAbstractAnimation.pause() , or PySide.QtCore.QAbstractAnimation.resume() . An animation will always reset its current time when it is started. If paused, it will continue with the same current time when resumed. When an animation is stopped, it cannot be resumed, but will keep its current time (until started again). PySide.QtCore.QAbstractAnimation will emit PySide.QtCore.QAbstractAnimation.stateChanged() whenever its state changes.

An animation can loop any number of times by setting the PySide.QtCore.QAbstractAnimation.loopCount() property. When an animation’s current time reaches its PySide.QtCore.QAbstractAnimation.duration() , it will reset the current time and keep running. A loop count of 1 (the default value) means that the animation will run one time. Note that a duration of -1 means that the animation will run until stopped; the current time will increase indefinitely. When the current time equals PySide.QtCore.QAbstractAnimation.duration() and the animation is in its final loop, the Stopped state is entered, and the PySide.QtCore.QAbstractAnimation.finished() signal is emitted.

PySide.QtCore.QAbstractAnimation provides pure virtual functions used by subclasses to track the progress of the animation: PySide.QtCore.QAbstractAnimation.duration() and PySide.QtCore.QAbstractAnimation.updateCurrentTime() . The PySide.QtCore.QAbstractAnimation.duration() function lets you report a duration for the animation (as discussed above). The animation framework calls PySide.QtCore.QAbstractAnimation.updateCurrentTime() when current time has changed. By reimplementing this function, you can track the animation progress. Note that neither the interval between calls nor the number of calls to this function are defined; though, it will normally be 60 updates per second.

By reimplementing PySide.QtCore.QAbstractAnimation.updateState() , you can track the animation’s state changes, which is particularly useful for animations that are not driven by time.

class PySide.QtCore.QAbstractAnimation([parent=None])
Parameters:parentPySide.QtCore.QObject

Constructs the PySide.QtCore.QAbstractAnimation base class, and passes parent to PySide.QtCore.QObject ‘s constructor.

PySide.QtCore.QAbstractAnimation.Direction

This enum describes the direction of the animation when in Running state.

Constant Description
QAbstractAnimation.Forward The current time of the animation increases with time (i.e., moves from 0 and towards the end / duration).
QAbstractAnimation.Backward The current time of the animation decreases with time (i.e., moves from the end / duration and towards 0).
PySide.QtCore.QAbstractAnimation.DeletionPolicy
Constant Description
QAbstractAnimation.KeepWhenStopped The animation will not be deleted when stopped.
QAbstractAnimation.DeleteWhenStopped The animation will be automatically deleted when stopped.
PySide.QtCore.QAbstractAnimation.State

This enum describes the state of the animation.

Constant Description
QAbstractAnimation.Stopped The animation is not running. This is the initial state of PySide.QtCore.QAbstractAnimation , and the state PySide.QtCore.QAbstractAnimation reenters when finished. The current time remain unchanged until either PySide.QtCore.QAbstractAnimation.setCurrentTime() is called, or the animation is started by calling PySide.QtCore.QAbstractAnimation.start() .
QAbstractAnimation.Paused The animation is paused (i.e., temporarily suspended). Calling PySide.QtCore.QAbstractAnimation.resume() will resume animation activity.
QAbstractAnimation.Running The animation is running. While control is in the event loop, PySide.QtCore.QAbstractAnimation will update its current time at regular intervals, calling PySide.QtCore.QAbstractAnimation.updateCurrentTime() when appropriate.
PySide.QtCore.QAbstractAnimation.currentLoop()
Return type:PySide.QtCore.int

This property holds the current loop of the animation.

This property describes the current loop of the animation. By default, the animation’s loop count is 1, and so the current loop will always be 0. If the loop count is 2 and the animation runs past its duration, it will automatically rewind and restart at current time 0, and current loop 1, and so on.

When the current loop changes, PySide.QtCore.QAbstractAnimation emits the PySide.QtCore.QAbstractAnimation.currentLoopChanged() signal.

PySide.QtCore.QAbstractAnimation.currentLoopChanged(currentLoop)
Parameters:currentLoopPySide.QtCore.int
PySide.QtCore.QAbstractAnimation.currentLoopTime()
Return type:PySide.QtCore.int

Returns the current time inside the current loop. It can go from 0 to PySide.QtCore.QAbstractAnimation.duration() .

PySide.QtCore.QAbstractAnimation.currentTime()
Return type:PySide.QtCore.int

This property holds the current time and progress of the animation.

This property describes the animation’s current time. You can change the current time by calling setCurrentTime, or you can call PySide.QtCore.QAbstractAnimation.start() and let the animation run, setting the current time automatically as the animation progresses.

The animation’s current time starts at 0, and ends at PySide.QtCore.QAbstractAnimation.totalDuration() .

PySide.QtCore.QAbstractAnimation.direction()
Return type:PySide.QtCore.QAbstractAnimation.Direction

This property holds the direction of the animation when it is in Running state..

This direction indicates whether the time moves from 0 towards the animation duration, or from the value of the duration and towards 0 after PySide.QtCore.QAbstractAnimation.start() has been called.

By default, this property is set to Forward .

PySide.QtCore.QAbstractAnimation.directionChanged(arg__1)
Parameters:arg__1PySide.QtCore.QAbstractAnimation.Direction
PySide.QtCore.QAbstractAnimation.duration()
Return type:PySide.QtCore.int

This property holds the duration of the animation..

If the duration is -1, it means that the duration is undefined. In this case, PySide.QtCore.QAbstractAnimation.loopCount() is ignored.

PySide.QtCore.QAbstractAnimation.finished()
PySide.QtCore.QAbstractAnimation.group()
Return type:PySide.QtCore.QAnimationGroup

If this animation is part of a PySide.QtCore.QAnimationGroup , this function returns a pointer to the group; otherwise, it returns 0.

PySide.QtCore.QAbstractAnimation.loopCount()
Return type:PySide.QtCore.int

This property holds the loop count of the animation.

This property describes the loop count of the animation as an integer. By default this value is 1, indicating that the animation should run once only, and then stop. By changing it you can let the animation loop several times. With a value of 0, the animation will not run at all, and with a value of -1, the animation will loop forever until stopped. It is not supported to have loop on an animation that has an undefined duration. It will only run once.

PySide.QtCore.QAbstractAnimation.pause()

Pauses the animation. When the animation is paused, PySide.QtCore.QAbstractAnimation.state() returns Paused. The value of PySide.QtCore.QAbstractAnimation.currentTime() will remain unchanged until PySide.QtCore.QAbstractAnimation.resume() or PySide.QtCore.QAbstractAnimation.start() is called. If you want to continue from the current time, call PySide.QtCore.QAbstractAnimation.resume() .

PySide.QtCore.QAbstractAnimation.resume()

Resumes the animation after it was paused. When the animation is resumed, it emits the resumed() and PySide.QtCore.QAbstractAnimation.stateChanged() signals. The currenttime is not changed.

PySide.QtCore.QAbstractAnimation.setCurrentTime(msecs)
Parameters:msecsPySide.QtCore.int

This property holds the current time and progress of the animation.

This property describes the animation’s current time. You can change the current time by calling setCurrentTime, or you can call PySide.QtCore.QAbstractAnimation.start() and let the animation run, setting the current time automatically as the animation progresses.

The animation’s current time starts at 0, and ends at PySide.QtCore.QAbstractAnimation.totalDuration() .

PySide.QtCore.QAbstractAnimation.setDirection(direction)
Parameters:directionPySide.QtCore.QAbstractAnimation.Direction

This property holds the direction of the animation when it is in Running state..

This direction indicates whether the time moves from 0 towards the animation duration, or from the value of the duration and towards 0 after PySide.QtCore.QAbstractAnimation.start() has been called.

By default, this property is set to Forward .

PySide.QtCore.QAbstractAnimation.setLoopCount(loopCount)
Parameters:loopCountPySide.QtCore.int

This property holds the loop count of the animation.

This property describes the loop count of the animation as an integer. By default this value is 1, indicating that the animation should run once only, and then stop. By changing it you can let the animation loop several times. With a value of 0, the animation will not run at all, and with a value of -1, the animation will loop forever until stopped. It is not supported to have loop on an animation that has an undefined duration. It will only run once.

PySide.QtCore.QAbstractAnimation.setPaused(arg__1)
Parameters:arg__1PySide.QtCore.bool

If paused is true, the animation is paused. If paused is false, the animation is resumed.

PySide.QtCore.QAbstractAnimation.start([policy=KeepWhenStopped])
Parameters:policyPySide.QtCore.QAbstractAnimation.DeletionPolicy
PySide.QtCore.QAbstractAnimation.state()
Return type:PySide.QtCore.QAbstractAnimation.State

This property holds state of the animation..

This property describes the current state of the animation. When the animation state changes, PySide.QtCore.QAbstractAnimation emits the PySide.QtCore.QAbstractAnimation.stateChanged() signal.

PySide.QtCore.QAbstractAnimation.stateChanged(newState, oldState)
Parameters:
PySide.QtCore.QAbstractAnimation.stop()

Stops the animation. When the animation is stopped, it emits the PySide.QtCore.QAbstractAnimation.stateChanged() signal, and PySide.QtCore.QAbstractAnimation.state() returns Stopped. The current time is not changed.

If the animation stops by itself after reaching the end (i.e., PySide.QtCore.QAbstractAnimation.currentLoopTime() == PySide.QtCore.QAbstractAnimation.duration() and PySide.QtCore.QAbstractAnimation.currentLoop() > PySide.QtCore.QAbstractAnimation.loopCount() - 1), the PySide.QtCore.QAbstractAnimation.finished() signal is emitted.

PySide.QtCore.QAbstractAnimation.totalDuration()
Return type:PySide.QtCore.int

Returns the total and effective duration of the animation, including the loop count.

PySide.QtCore.QAbstractAnimation.updateCurrentTime(currentTime)
Parameters:currentTimePySide.QtCore.int

This pure virtual function is called every time the animation’s currentTime changes.

PySide.QtCore.QAbstractAnimation.updateDirection(direction)
Parameters:directionPySide.QtCore.QAbstractAnimation.Direction
PySide.QtCore.QAbstractAnimation.updateState(newState, oldState)
Parameters: