setFrameRange 方法(它是 QTimeLine 类的一部分)有什么用?我找到了这个例子:
QGraphicsItem *ball = new QGraphicsEllipseItem(0, 0, 20, 20);
QTimeLine *timer = new QTimeLine(5000);
timer->setFrameRange(0, 100);
QGraphicsItemAnimation *animation = new QGraphicsItemAnimation;
animation->setItem(ball);
animation->setTimeLine(timer);
for (int i = 0; i < 200; ++i)
animation->setPosAt(i / 200.0, QPointF(i, i));
QGraphicsScene *scene = new QGraphicsScene();
scene->setSceneRect(0, 0, 250, 250);
scene->addItem(ball);
QGraphicsView *view = new QGraphicsView(scene);
view->show();
timer->start();
显然,一切似乎都运行良好,但我注意到修改这个参数并没有改变任何事情。我试着这样写:
- 计时器->setFrameRange(100, 100)
- 计时器->setFrameRage(0,0)
但尽管我在做什么,结果仍然是一样的。
总结一下,我有两个问题。这个方法在做什么(是的,我已经阅读了文档),为什么我的修改没有改变任何东西?