QGraphicsItemAnimation 在每个 QTimeLine 循环后暂停

QGraphicsItemAnimation pauses after every QTimeLine loop

QGraphicsBubbleItem::QGraphicsBubbleItem(qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parentItem)
    : QGraphicsEllipseItem(x, y, width, height, parentItem)
{
    timer = new QTimeLine(3000);
    timer->setFrameRange(0, 100);
    //timer->setLoopCount(3);
    connect(timer, &QTimeLine::finished, timer, &QTimeLine::start);

    animation = new QGraphicsItemAnimation;
    animation->setItem(this);
    animation->setTimeLine(timer);

    animation->setTranslationAt(0, (width/2)*(-1), (height/2)*(-1));
    animation->setRotationAt(0.5, 180);
    animation->setRotationAt(1, 360);

    timer->start();
}

动画还有更多内容,但我已将代码简化为显示问题的部分。项目已绘制并按应有的方式旋转,但在每次循环后都会停止一段时间。

默认情况下,QTimeLine 使用曲线设置为:

QTimeLine::EaseInOutCurve

表示该值开始缓慢增长,然后稳定运行,然后再次缓慢增长。尝试 setting the curve shape 到线性:

QTimeLine::LinearCurve