- class QGraphicsItemAnimation#
`QGraphicsItemAnimation` 类为 `QGraphicsItem` 提供了简单的动画支持。 更多…
概要#
方法#
def
__init__()
def
clear()
def
item()
def
posAt()
def
posList()
定义
rotationAt()
定义
scaleList()
定义
setItem()
定义
setPosAt()
定义
setScaleAt()
定义
setShearAt()
定义
shearList()
定义
timeLine()
虚方法#
槽函数#
定义
setStep()
注记
本文档可能包含从C++自动转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建问题单来告知我们。
详细描述#
警告
本节包含从C++自动转换为Python的代码片段,可能包含错误。
QGraphicsItemAnimation
类可以动画化QGraphicsItem
。您可以在指定的步骤处安排对项目变换矩阵的更改。《QGraphicsItemAnimation》 类有一个当前步骤值。当此值改变时,该步骤计划执行的变换将被执行。《QGraphicsItemAnimation》 的当前步骤通过setStep()
函数设置。QGraphicsItemAnimation
将进行简单的线性插值,在最近的预定更改之间计算矩阵。例如,如果您设置项目的位置值为0.0和1.0,动画将显示项目在这两个位置之间的直线移动。缩放和旋转也是同样的道理。通常与 QTimeLine 一起使用该类。然后将时间表的 valueChanged() 信号连接到
setStep()
插槽。例如,您可以通过在膜炎值不同的步骤上调用setRotationAt()
来设置项目的旋转。动画的时间表通过setTimeLine()
函数设置。以下是一个遵循时间表的动画示例
ball = QGraphicsEllipseItem(0, 0, 20, 20) timer = QTimeLine(5000) timer.setFrameRange(0, 100) animation = QGraphicsItemAnimation() animation.setItem(ball) animation.setTimeLine(timer) for i in range(0, 200): animation.setPosAt(i / 200.0, QPointF(i, i)) scene = QGraphicsScene() scene.setSceneRect(0, 0, 250, 250) scene.addItem(ball) view = QGraphicsView(scene) view.show() timer.start()
请注意,步骤位于0.0和1.0之间。可能需要使用 setUpdateInterval()`。默认更新间隔为40毫秒。一旦设置,则无法删除预定的变换,因此不建议在相同步骤上安排同一类型的几个变换(例如,旋转)。
也请参阅
使用给定的
parent
构造动画对象。- afterAnimationStep(step)#
- 参数:
step – 浮点数
此方法旨在在子类中重写,子类需要在新的步骤发生后执行附加代码。对于动作取决于其值的情况,提供了动画
step
以供使用。- beforeAnimationStep(step)#
- 参数:
step – 浮点数
此方法旨在被子类覆盖,以便在其发生新步骤之前执行额外代码。动画步骤提供用于动作取决于其值的场合。
- clear()#
清除用于动画的预定变换,但保留项和时间轴。
- horizontalScaleAt(step)#
- 参数:
step – 浮点数
- 返回类型:
float
根据指定的步骤值返回该项的水平缩放比。
也请参阅
- horizontalShearAt(step)#
- 参数:
step – 浮点数
- 返回类型:
float
根据指定的步骤值返回该项的水平剪切比。
也请参阅
- item()#
- 返回类型:
返回动画对象操作其上的项。
也请参阅
返回给定步骤值的项的位置。
也请参阅
- posList()#
- 返回类型:
. std.pair analyzer,qreal,《QPointF》列表
返回所有显式插入的位置。
也请参阅
- rotationAt(step)#
- 参数:
step – 浮点数
- 返回类型:
float
返回负负规在指定的步规值。
也请参阅
- rotationList()#
- 返回类型:
. 标准列对,x轴和y轴旋转度数列表
返回所有显式插入的旋转。
- scaleList()#
- 返回类型:
. std.pair analyzer,qreal,《QPointF》列表
返回所有显式插入的尺规。
- setItem(item)#
- 参数:
item -
QGraphicsItem
将指定的
item
设置为动画中使用。也请参阅
将项目的位置设置为给定的
step
值到指定的点。也请参阅
- setRotationAt(step, angle)#
- 参数:
step – 浮点数
angle - float
将项目在给定
step
值处的旋转设置为指定的angle
。也请参阅
- setScaleAt(step, sx, sy)#
- 参数:
step – 浮点数
sx - float
sy - float
使用指定的水平尺度和垂直缩放因子
sx
和sy
在给定的step
值处设置项目的缩放。- setShearAt(step, sh, sv)#
- 参数:
step – 浮点数
sh - float
sv - float
使用由
sh
和sv
指定的水平和垂直剪切因子在给定的step
值处设置项目的剪切。- setStep(x)#
- 参数:
x – 流体数
设置动画当前
step
值,使在此步调度的转换执行。将用于控制动画速率的时序对象设置为特定的
timeLine
。也请参阅
- setTranslationAt(step, dx, dy)#
- 参数:
step – 浮点数
dx – 流体数
dy – 流体数
使用通过
dx
和dy
指定的水平和垂直坐标设置给定step
值处的项目的平移。- shearList()#
- 返回类型:
. std.pair analyzer,qreal,《QPointF》列表
返回所有显式插入的剪切。
返回用于控制动画发生速率的时序对象。
也请参阅
- transformAt(step)#
- 参数:
step – 浮点数
- 返回类型:
返回在指定
step
值时使用的转换。- translationList()#
- 返回类型:
. std.pair analyzer,qreal,《QPointF》列表
返回所有显式插入的平移。
- verticalScaleAt(step)#
- 参数:
step – 浮点数
- 返回类型:
float
返回指定
step
值的项的垂直缩放。也请参阅
- verticalShearAt(step)#
- 参数:
step – 浮点数
- 返回类型:
float
返回指定
step
值的项的垂直剪切。也请参阅
- xTranslationAt(step)#
- 参数:
step – 浮点数
- 返回类型:
float
返回指定
step
值的项的水平平移。也请参阅
- yTranslationAt(step)#
- 参数:
step – 浮点数
- 返回类型:
float
返回指定
step
值的项的垂直平移。也请参阅