QAbstractAnimation Class Reference
[QtCore module]
该QAbstractAnimation类是所有动画的基础。More…
继承QObject。
通过继承QAnimationGroup,QPauseAnimation和QVariantAnimation。
Types
enum DeletionPolicy { KeepWhenStopped, DeleteWhenStopped }
enum Direction { Forward, Backward }
enum State { Stopped, Paused, Running }
Methods
__init__ (self, QObject parent = None)
int currentLoop (self)
int currentLoopTime (self)
int currentTime (self)
Direction direction (self)
int duration (self)
bool event (self, QEvent event)
QAnimationGroup group (self)
int loopCount (self)
pause (self)
resume (self)
setCurrentTime (self, int msecs)
setDirection (self, Direction direction)
setLoopCount (self, int loopCount)
setPaused (self, bool)
start (self, DeletionPolicy policy = QAbstractAnimation.KeepWhenStopped)
State state (self)
stop (self)
int totalDuration (self)
updateCurrentTime (self, int currentTime)
updateDirection (self, Direction direction)
updateState (self, State newState, State oldState)
Qt Signals
void currentLoopChanged (int)
void directionChanged (QAbstractAnimation::Direction)
void finished ()
void stateChanged (QAbstractAnimation::State,QAbstractAnimation::State)
Detailed Description
该QAbstractAnimation类是所有动画的基础。
这个类定义了所有的动画共享的功能的功能。通过继承这个类,您可以创建自定义动画,插入的动画框架的其馀部分。
动画的进度是由它的当前时间(给定currentLoopTime()),这是从动画开始以毫秒为单位(0)到它的端部(duration())。动画运行时的值会自动更新。它也可以直接与设置setCurrentTime( ) 。
在任何时候动画是在三种状态之一:Running,Stopped或Paused - 被定义State枚举。目前的状态可以通过调用改变start( )stop( )pause() ,或resume( ) 。动画将重新设定其current time当它被启动。如果暂停,它会继续恢复时相同的当前时间。当动画停止时,它不能被恢复,但将保持其当前时间(直到再次启动)。 QAbstractAnimation会发出stateChanged( )每当它的状态的变化。
动画可以循环通过设置任意数量的倍loopCount属性。当动画的当前时间达到duration( ) ,它会重置当前的时间,并保持运行。为1,循环次数(默认值)表示该动画将运行一次。需要注意的是-1的持续时间意味着动画将运行到停止,当前的时间将增加下去。当当前时间等于duration()和动画是在其最后循环中,Stopped进入状态,而finished()信号被发射。
QAbstractAnimation提供由子类用于跟踪动画的进度纯虚函数:duration()和updateCurrentTime( ) 。该duration( )函数可以报告一个持续时间为动画(如上所述) 。动画框架调用updateCurrentTime( )时,当前时间已更改。通过重新实现此功能,您可以跟踪动画进度。请注意,无论呼叫也不调用该函数的数量之间的间隔被定义,虽然,它通常是每秒60更新。
通过重新实现updateState( ) ,你可以跟踪动画的状态发生变化,这是不是由时间驱动的动画特别有用。
Type Documentation
QAbstractAnimation.DeletionPolicy
Constant | Value | Description |
---|---|---|
QAbstractAnimation.KeepWhenStopped |
0 |
停止时的动画效果将不会被删除。 |
QAbstractAnimation.DeleteWhenStopped |
1 |
停止时,动画将被自动删除。 |
QAbstractAnimation.Direction
这个枚举变量描述了动画的方向时,Running状态。
Constant | Value | Description |
---|---|---|
QAbstractAnimation.Forward |
0 |
随时间的增加动画的当前时间(即从0到接近尾声/时间移动) 。 |
QAbstractAnimation.Backward |
1 |
随着时间(即从底/持续时间和对0移动)动画的当前时间减少。 |
See also direction。
QAbstractAnimation.State
这个枚举变量描述了动画的状态。
Constant | Value | Description |
---|---|---|
QAbstractAnimation.Stopped |
0 |
动画没有运行。这是初始状态QAbstractAnimation,和国家QAbstractAnimation重新进入时完成。当前时间保持不变,直至setCurrentTime()被调用,或动画是通过调用启动start( ) 。 |
QAbstractAnimation.Paused |
1 |
动画暂停(即暂停) 。调用resume( )将恢复动画活动。 |
QAbstractAnimation.Running |
2 |
在动画运行。而控制是在事件循环,QAbstractAnimation将定期更新其当前的时间,调用updateCurrentTime( )在适当的时候。 |
See also state()和stateChanged( ) 。
Method Documentation
QAbstractAnimation.__init__ (self, QObject parent = None)
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构建QAbstractAnimation基类和通行证parent至QObject的构造。
See also QVariantAnimation和QAnimationGroup。
int QAbstractAnimation.currentLoop (self)
int QAbstractAnimation.currentLoopTime (self)
返回当前循环内的当前时间。它可以从0到duration( ) 。
See also duration()和currentTime。
int QAbstractAnimation.currentTime (self)
Direction QAbstractAnimation.direction (self)
[
int QAbstractAnimation.duration (self)
这种方法是抽象的,应在任何子类中重新实现。
bool QAbstractAnimation.event (self, QEvent event)
]($docs-qabstractanimation.html#Direction-enum)
从重新实现QObject.event( ) 。
QAnimationGroup QAbstractAnimation.group (self)
如果这个动画的一部分QAnimationGroup,这个函数返回一个指针到组,否则返回0 。
See also QAnimationGroup.addAnimation( ) 。
int QAbstractAnimation.loopCount (self)
QAbstractAnimation.pause (self)
这种方法也是一个Qt槽与C + +的签名void pause()
。
暂停动画。当动画暂停时,state()返回暂停。价值currentTime将保持不变,直到resume()或start()被调用。如果你想从当前时间继续,请致电resume( ) 。
See also start( )state()和resume( ) 。
QAbstractAnimation.resume (self)
这种方法也是一个Qt槽与C + +的签名void resume()
。
它恢复暂停后动画。当动画恢复时,它发出的恢复()和stateChanged( )信号。该currentTime的不被改变。
See also start( )pause()和state( ) 。
QAbstractAnimation.setCurrentTime (self, int msecs)
这种方法也是一个Qt槽与C + +的签名void setCurrentTime(int)
。
QAbstractAnimation.setDirection (self, Direction direction)
QAbstractAnimation.setLoopCount (self, int loopCount)
QAbstractAnimation.setPaused (self, bool)
这种方法也是一个Qt槽与C + +的签名void setPaused(bool)
。
If paused诚然,动画暂停。如果paused是假的,动画重新开始。
See also state( )pause()和resume( ) 。
QAbstractAnimation.start (self, DeletionPolicy policy = QAbstractAnimation.KeepWhenStopped)
这种方法也是一个Qt槽与C + +的签名void start(QAbstractAnimation::DeletionPolicy = QAbstractAnimation.KeepWhenStopped)
。
启动动画。该policy论证说,不论是否当它完成的动画应该被删除。当动画开始,则stateChanged()信号被发射,和state()返回运行。当控制到达事件循环,动画将自行运行,周期性地调用updateCurrentTime( )作为动画的进展。
如果动画目前已停止或已走到了尽头,调用start ( )将回放动画,并从头开始。当动画到达末尾时,动画要么停止,或者如果在循环水平大于1,它会倒带,并从开头继续。
如果动画已经在运行,这个函数不执行任何操作。
State QAbstractAnimation.state (self)
[
QAbstractAnimation.stop (self)
这种方法也是一个Qt槽与C + +的签名void stop()
。
]($docs-qabstractanimation.html#State-enum)
停止播放动画。当动画停止时,它发出的stateChanged()信号,并state( )返回时停止。当前的时间不会改变。
如果在到达终点后停止动画本身(即,currentLoopTime()==duration()和currentLoop( ) \u003eloopCount() - 1 ),则finished()信号被发射。
int QAbstractAnimation.totalDuration (self)
返回动画的总有效和持续时间,包括循环计数。
See also duration()和currentTime。
QAbstractAnimation.updateCurrentTime (self, int currentTime)
这种方法是抽象的,应在任何子类中重新实现。
这个纯虚函数被调用每次动画的currentTime变化。
See also updateState( ) 。
QAbstractAnimation.updateDirection (self, Direction direction)
这个虚函数被调用QAbstractAnimation当动画的方向被改变。该direction参数是新的方向。
See also setDirection()和direction( ) 。
QAbstractAnimation.updateState (self, State newState, State oldState)
这个虚函数被调用QAbstractAnimation当动画的状态从变oldState至newState。
See also start( )stop( )pause()和resume( ) 。
Qt Signal Documentation
void currentLoopChanged (int)
这是该信号的默认超载。
QAbstractAnimation发出该信号时电流回路的改变。currentLoop是电流回路。
See also currentLoop()和loopCount( ) 。
void directionChanged (QAbstractAnimation::Direction)
这是该信号的默认超载。
QAbstractAnimation发出该信号时的方向已经改变。newDirection是新的方向。
See also direction。
void finished ()
这是该信号的默认超载。
QAbstractAnimation发出此信号后的动画已经停止,并已达到结束。
之后此信号被发射stateChanged( ) 。
See also stateChanged( ) 。
void stateChanged (QAbstractAnimation::State,QAbstractAnimation::State)
这是该信号的默认超载。
QAbstractAnimation发出这个信号时动画的状态已经从oldState至newState。之后虚拟这个信号被发射updateState( )函数被调用。
See also updateState( ) 。