PySide6.QtCore.QEasingCurve¶
- class QEasingCurve¶
QEasingCurve
类提供了用于控制动画的缓动曲线。更多…在版本4.6中添加。
概要¶
方法¶
def
__init__()
def
addTCBSegment()
def
amplitude()
def
customType()
def
__ne__()
def
__eq__()
def
overshoot()
def
period()
def
setAmplitude()
def
setCustomType()
def
setOvershoot()
def
setPeriod()
def
setType()
def
swap()
def
toCubicSpline()
def
type()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
缓动曲线描述了一个控制0到1之间插值速度的函数。缓动曲线使得从一个值到另一个值的过渡看起来比简单的恒定速度更自然。
QEasingCurve
类通常与QVariantAnimation
和QPropertyAnimation
类一起使用,但也可以单独使用。它通常用于加速从零速度开始的插值(缓入)或减速到零速度(缓出)。缓入和缓出也可以组合在同一个缓动曲线中。为了计算插值的速度,缓动曲线提供了函数
valueForProgress()
,其中progress
参数指定了插值的进度:0 是插值的起始值,1 是插值的结束值。返回值是插值的有效进度。如果对于所有输入值,返回值与输入值相同,则缓动曲线是线性曲线。这是默认行为。例如,
easing = QEasingCurve(QEasingCurve.InOutQuad) for t in range(0.0, 1.0): qWarning() << "Effective progress" << t << "is" << easing.valueForProgress(t)
将打印插值在0到1之间的有效进度。
当使用
QPropertyAnimation
时,相关的缓动曲线将用于控制从startValue到endValue之间的插值进度:animation = QPropertyAnimation() animation.setStartValue(0) animation.setEndValue(1000) animation.setDuration(1000) animation.setEasingCurve(QEasingCurve.InOutQuad)
设置振幅、超调量或周期的能力取决于
QEasingCurve
类型。振幅访问适用于表现为弹簧的曲线,如弹性曲线和反弹曲线。改变振幅会改变曲线的高度。周期访问仅适用于弹性曲线,设置更高的周期会减慢反弹速度。只有具有“回旋镖”行为的曲线,如InBack
、OutBack
、InOutBack
和OutInBack
,才有超调设置。这些曲线会在端点之外进行插值并返回到端点,类似于回旋镖的行为。缓动曲线示例包含了
QEasingCurve
类型的样本,并允许您更改曲线设置。- class Type¶
缓动曲线的类型。
常量
描述
QEasingCurve.Linear
线性 (t) 函数的缓动曲线:速度是恒定的。
常量
描述
QEasingCurve.InQuad
二次函数(t^2)的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutQuad
二次函数(t^2)的缓动曲线:减速至零速度。
常量
描述
QEasingCurve.InOutQuad
二次函数(t^2)的缓动曲线:前半段加速,后半段减速。
常量
描述
QEasingCurve.OutInQuad
二次函数(t^2)的缓动曲线:先减速到一半,然后加速。
常量
描述
QEasingCurve.InCubic
立方(t^3)函数的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutCubic
三次函数(t^3)的缓动曲线:减速至零速度。
常量
描述
QEasingCurve.InOutCubic
三次函数(t^3)的缓动曲线:加速到一半,然后减速。
常量
描述
QEasingCurve.OutInCubic
立方(t^3)函数的缓动曲线:前半段减速,然后加速。
常量
描述
QEasingCurve.InQuart
四次函数(t^4)的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutQuart
四次函数(t^4)的缓动曲线:减速至零速度。
常量
描述
QEasingCurve.InOutQuart
四次函数(t^4)的缓动曲线:加速到一半,然后减速。
常量
描述
QEasingCurve.OutInQuart
四次函数(t^4)的缓动曲线:前半段减速,然后加速。
常量
描述
QEasingCurve.InQuint
五次方(t^5)缓入的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutQuint
五次函数(t^5)的缓动曲线:减速至零速度。
常量
描述
QEasingCurve.InOutQuint
五次函数(t^5)的缓动曲线:前半段加速,后半段减速。
常量
描述
QEasingCurve.OutInQuint
五次函数(t^5)的缓动曲线:前半段减速,后半段加速。
常量
描述
QEasingCurve.InSine
正弦函数(sin(t))的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutSine
正弦函数(sin(t))的缓动曲线:减速至零速度。
常量
描述
QEasingCurve.InOutSine
正弦函数(sin(t))的缓动曲线:前半段加速,后半段减速。
常量
描述
QEasingCurve.OutInSine
正弦函数(sin(t))的缓动曲线:前半段减速,后半段加速。
常量
描述
QEasingCurve.InExpo
指数(2^t)函数的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutExpo
指数(2^t)函数的缓动曲线:减速至零速度。
常量
描述
QEasingCurve.InOutExpo
指数(2^t)函数的缓动曲线:前半段加速,后半段减速。
常量
描述
QEasingCurve.OutInExpo
指数(2^t)函数的缓动曲线:前半段减速,然后加速。
常量
描述
QEasingCurve.InCirc
用于圆形(sqrt(1-t^2))函数的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutCirc
圆形(sqrt(1-t^2))函数的缓动曲线:减速至零速度。
常量
描述
QEasingCurve.InOutCirc
圆形(sqrt(1-t^2))函数的缓动曲线:前半段加速,后半段减速。
常量
描述
QEasingCurve.OutInCirc
圆形(sqrt(1-t^2))函数的缓动曲线:前半段减速,后半段加速。
常量
描述
QEasingCurve.InElastic
弹性(指数衰减正弦波)函数的缓动曲线:从零速度加速。峰值幅度可以通过amplitude参数设置,衰减周期可以通过period参数设置。
常量
描述
QEasingCurve.OutElastic
弹性(指数衰减正弦波)函数的缓动曲线:减速至零速度。峰值幅度可以通过amplitude参数设置,衰减周期可以通过period参数设置。
常量
描述
QEasingCurve.InOutElastic
弹性(指数衰减正弦波)函数的缓动曲线:前半段加速,然后减速。
常量
描述
QEasingCurve.OutInElastic
弹性(指数衰减正弦波)函数的缓动曲线:前半段减速,然后加速。
常量
描述
QEasingCurve.InBack
用于回退(超调三次函数:(s+1)*t^3 - s*t^2)缓入的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutBack
用于后退(超调三次函数:(s+1)*t^3 - s*t^2)的缓动曲线:减速至零速度。
常量
描述
QEasingCurve.InOutBack
用于回弹(超调三次函数:(s+1)*t^3 - s*t^2)的缓入/缓出曲线:加速到一半,然后减速。
常量
描述
QEasingCurve.OutInBack
用于回弹(超调三次缓动:(s+1)*t^3 - s*t^2)的缓动曲线,缓出/缓入:前半段减速,然后加速。
常量
描述
QEasingCurve.InBounce
弹跳(指数衰减抛物线弹跳)函数的缓动曲线:从零速度加速。
常量
描述
QEasingCurve.OutBounce
弹跳(指数衰减抛物线弹跳)函数的缓动曲线:从零速度减速。
常量
描述
QEasingCurve.InOutBounce
弹跳(指数衰减抛物线弹跳)函数的缓动曲线,缓入/缓出:加速到一半,然后减速。
常量
描述
QEasingCurve.OutInBounce
弹跳(指数衰减抛物线弹跳)函数的缓动曲线,用于缓出/缓入:前半段减速,然后加速。
常量
描述
QEasingCurve.BezierSpline
允许使用三次贝塞尔样条定义自定义缓动曲线
QEasingCurve.TCBSpline
允许使用TCB样条定义自定义缓动曲线
QEasingCurve.Custom
如果用户使用
setCustomType()
指定了自定义曲线类型,则返回此值。请注意,您不能使用此值调用setType()
,但type()
可以返回它。
构造给定
type
的缓动曲线。- __init__(other)
- Parameters:
其他 –
QEasingCurve
构造一个
other
的副本。添加一段三次贝塞尔样条来定义自定义的缓动曲线。仅当
type()
为BezierSpline
时适用。请注意,样条隐式地从(0.0, 0.0)开始,并且必须结束于(1.0, 1.0)才能成为有效的缓动曲线。c1
和c2
是用于绘制曲线的控制点。endPoint
是曲线的终点。添加一段TCB贝塞尔样条来定义自定义的缓动曲线。仅当
type()
为TCBSpline
时适用。样条必须明确从(0.0, 0.0)开始,并在(1.0, 1.0)结束,才能成为有效的缓动曲线。张力t
改变切向量的长度。连续性c
改变切线之间的变化锐度。偏置b
改变切向量的方向。nextPoint
是采样位置。所有三个参数的有效范围在-1到1之间,并定义控制点的切线。如果所有三个参数都为0,则生成的样条是Catmull-Rom样条。起点和终点始终具有-1和1的偏置,因为外部切线未定义。- amplitude()¶
- Return type:
浮点数
返回振幅。这不适用于所有曲线类型。它仅适用于反弹和弹性曲线(
type()
为InBounce
、OutBounce
、InOutBounce
、OutInBounce
、InElastic
、OutElastic
、InOutElastic
或OutInElastic
的曲线)。另请参阅
- customType()¶
- Return type:
对象
- __ne__(rhs)¶
- Parameters:
rhs –
QEasingCurve
- Return type:
布尔
比较缓动曲线
lhs
和rhs
,如果它们不相等则返回true
;否则返回false
。它还会比较曲线的属性。另请参阅
operator==()
- __eq__(rhs)¶
- Parameters:
rhs –
QEasingCurve
- Return type:
布尔
比较缓动曲线
lhs
与rhs
,如果它们相等则返回true
;否则返回false
。它还会比较曲线的属性。- overshoot()¶
- Return type:
浮点数
返回超调量。这不适用于所有曲线类型。仅当
type()
为InBack
、OutBack
、InOutBack
或OutInBack
时适用。另请参阅
- period()¶
- Return type:
浮点数
返回周期。这不适用于所有曲线类型。仅当
type()
是InElastic
、OutElastic
、InOutElastic
或OutInElastic
时才适用。另请参阅
- setAmplitude(amplitude)¶
- Parameters:
振幅 – 浮点数
将振幅设置为
amplitude
。这将设置弹跳的幅度或弹性“弹簧”效果的幅度。数值越高,幅度越大。
另请参阅
- setCustomType(callable)¶
- Parameters:
callable – 对象
- setOvershoot(overshoot)¶
- Parameters:
overshoot – 浮点数
将超调量设置为
overshoot
。0 不会产生超调,默认值 1.70158 会产生 10% 的超调。
另请参阅
- setPeriod(period)¶
- Parameters:
period – 浮点数
将周期设置为
period
。设置一个小的周期值将使曲线的频率变高。一个大的周期将使频率变低。另请参阅
设置缓动曲线的类型为
type
。另请参阅
- swap(other)¶
- Parameters:
其他 –
QEasingCurve
将曲线
other
与此曲线交换。此操作非常快速且永远不会失败。返回定义自定义缓动曲线的cubicBezierSpline。如果缓动曲线没有自定义的贝塞尔缓动曲线,则列表为空。
返回缓动曲线的类型。
另请参阅
- valueForProgress(progress)¶
- Parameters:
progress – 浮点数
- Return type:
浮点数
返回在
progress
处的缓动曲线的有效进度。虽然progress
必须在0到1之间,但返回的有效进度可以超出这些范围。例如,InBack
在函数开始时将返回负值。