Qt:如何将QGraphicsItemAnimation用于多个项目

时间:2015-11-30 04:06:26

标签: qt qgraphicsitem

我试图通过使用QGraphicsItemAnimation控制多个项目动画。为了理解QGraphicsItemAnimation,我将有一个QTimeline和几个QGraphicsItems,它们由QGraphicsItemAnimation控制。

首先,我没有使用QGraphicsItemAnimation,只使用QTimeline,并连接QTimeline和QGraphicsItem。

像这样:

connect(timeLine, SIGNAL(valueChanged(qreal)), graphicsItem, SLOT(scale(qreal)));

void GraphicsItem::scale(qreal value)
{
        setTransform(QTransform()
                     .translate(mZoomFactor.x(), mZoomFactor.y())
                     .scale(value + 1, value + 1)
                     .translate(-mZoomFactor.x(), -mZoomFactor.y()));
}

但是使用这种方式可以使动画看起来像丢帧。 所以我引用了Qt示例,但是QGraphicsItemAnimation不提供像setTransformAt()setOpacityAt()这样的函数。复杂动画有Qt例子吗?

0 个答案:

没有答案