QVariantAnimation Class Reference
[QtCore module]
该QVariantAnimation类提供了动画的抽象基类。More…
通过继承QPropertyAnimation。
Methods
__init__ (self, QObject parent = None)QVariant currentValue (self)int duration (self)QEasingCurve easingCurve (self)QVariant endValue (self)bool event (self, QEvent event)QVariant interpolated (self, QVariant from, QVariant to, float progress)QVariant keyValueAt (self, float step)list-of-tuple-of-float-QVariant keyValues (self)setDuration (self, int msecs)setEasingCurve (self, QEasingCurve easing)setEndValue (self, QVariant value)setKeyValueAt (self, float step, QVariant value)setKeyValues (self, list-of-tuple-of-float-QVariant values)setStartValue (self, QVariant value)QVariant startValue (self)updateCurrentTime (self, int)updateCurrentValue (self, QVariant value)updateState (self, QAbstractAnimation.State newState, QAbstractAnimation.State oldState)
Qt Signals
void valueChanged (const QVariant&)
Detailed Description
该QVariantAnimation类提供了动画的抽象基类。
这个类是一部分The Animation Framework。它可以作为财产和物品的动画一个基类,与共享的功能函数。
QVariantAnimation不能直接使用,因为它是一个抽象类,它有一个叫做纯虚方法updateCurrentValue( ) 。这个类在执行插值QVariant秒,但保留使用插值到其子类。目前, Qt提供QPropertyAnimation,这动画的Qtproperties。请参阅QPropertyAnimation类描述,如果您希望进行动画该等物业。
然后,您可以通过调用设置该属性开始和结束值setStartValue()和setEndValue( ) ,最后调用start()来启动动画。 QVariantAnimation将插在目标对象的属性,放出valueChanged( ) 。反应在电流值的变化,你必须重新实现updateCurrentValue( )虚函数。
另外,也可以在位于起始和结束值之间规定的步骤来设定值。那么插值会触及这些点在指定的步骤。注意,开始和结束的值在0.0和1.0中定义的键值。
有两种方式会影响QVariantAnimation如何插值的值。你可以通过调用设置缓动曲线setEasingCurve( ) ,并配置持续时间通过调用setDuration( ) 。您可以更改的QVariants通过创建QVariantAnimation的子类,并重新实现虚拟内插interpolated()函数。
子类QVariantAnimation可以是一个选择,如果你有QVariants表示你不希望声明为Qt的属性。但请注意,您在大多数情况下会有所改善您的声明QVariant作为一个属性。
不是所有的QVariant类型的支持。下面是当前支持的列表QVariant类型:
如果您需要进行插值其它不同的类型,包括自定义类型,你必须实现插值为这些自己。要做到这一点,你可以为一个给定类型注册一个插补功能。这个函数有3个参数:起始值,结束值和目前的进展。
例如:
[QVariant]($docs-qvariant.html) myColorInterpolator(const [QColor](qcolor.html) &start, const [QColor](qcolor.html) &end, [qreal]($docs-index.htm#qreal-typedef) progress){...return [QColor](qcolor.html)(...);}...qRegisterAnimationInterpolator<[QColor](qcolor.html)>(myColorInterpolator);
另一种选择是重新实现interpolated( ),它返回插补值进行插补值。
Method Documentation
QVariantAnimation.__init__ (self, QObject parent = None)
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构建QVariantAnimation对象。parent被传递给QAbstractAnimation的构造。
QVariant QVariantAnimation.currentValue (self)
int QVariantAnimation.duration (self)
QEasingCurve QVariantAnimation.easingCurve (self)
[
QVariant QVariantAnimation.endValue (self)
bool QVariantAnimation.event (self, QEvent event)
]($docs-qeasingcurve.html)
从重新实现QObject.event( ) 。
QVariant QVariantAnimation.interpolated (self, QVariant from, QVariant to, float progress)
这个虚函数返回变体之间的线性插值from和to在progress, 0和1之间,通常的值。您可以在子类中重新实现这个功能QVariantAnimation提供自己的插值算法。
需要注意的是,为了使内插至一个工作QEasingCurve返回一个值大于0小于1 (如更小或更大QEasingCurve.InBack),你应该确保它能够推断。如果数据类型的语义不容许外推这个功能应该处理的优雅。
你应该调用QVariantAnimation如果你想让你的类来处理已经支持Qt的类型实现此功能(见类QVariantAnimation说明支持的类型的列表) 。
See also QEasingCurve。
QVariant QVariantAnimation.keyValueAt (self, float step)
返回关键帧值给定的step。给定step必须是范围为0到1。如果不存在KeyValue为step,它返回一个无效的QVariant。
See also keyValues()和setKeyValueAt( ) 。
list-of-tuple-of-float-QVariant QVariantAnimation.keyValues (self)
返回此动画的关键帧。
See also keyValueAt()和setKeyValues( ) 。
QVariantAnimation.setDuration (self, int msecs)
QVariantAnimation.setEasingCurve (self, QEasingCurve easing)
QVariantAnimation.setEndValue (self, QVariant value)
QVariantAnimation.setKeyValueAt (self, float step, QVariant value)
创建一个关键帧在给定的step用给定的value。给定step必须是范围为0到1。
See also setKeyValues()和keyValueAt( ) 。
QVariantAnimation.setKeyValues (self, list-of-tuple-of-float-QVariant values)
替换当前设置关键帧与给定keyValues。的关键帧的步骤必须在范围0到1。
See also keyValues()和keyValueAt( ) 。
QVariantAnimation.setStartValue (self, QVariant value)
QVariant QVariantAnimation.startValue (self)
QVariantAnimation.updateCurrentTime (self, int)
从重新实现QAbstractAnimation.updateCurrentTime( ) 。
QVariantAnimation.updateCurrentValue (self, QVariant value)
这种方法是抽象的,应在任何子类中重新实现。
这个纯虚函数被调用每次动画的当前值的变化。该value参数是新的当前值。
See also currentValue。
QVariantAnimation.updateState (self, QAbstractAnimation.State newState, QAbstractAnimation.State oldState)
从重新实现QAbstractAnimation.updateState( ) 。
Qt Signal Documentation
void valueChanged (const QVariant&)
这是该信号的默认超载。
QVariantAnimation发出这个信号时的当前value变化。
See also currentValue,startValue和endValue。
