QCanvas的QCanvas::advance()与QCanvas::setAdvancePeriod(int ms)[virtual]配合使用,即设置canvas每隔ms毫秒调用一次advance(),可以通过调用setAdvancePeriod(int ms)或setUpdatePeriod()来进行预先设置。
QCanvas的QCanvas::update()与QCanvas::setUpdatePeriod(int ms)[virtual]配合使用,即设置canvas每隔ms毫秒调用一次update(),可以通过调用setAdvancePeriod(int ms)或setUpdatePeriod()来进行预先设置。
void QCanvas::update()[virtual slot]刷新canvas所有视图的所有更改。
void QCanvas::advance()[virtual slot] 提升一次在canvas所有项的动作,并且刷新canvas所有视图的所有更改。
advance分两个阶段(或两种状态进行),在0阶段,每个动画项以参数0的形式来调用QCanvasItem::advance()这个函数,在1阶段,以参数1的形式再调用一次这个函数。在0阶段,这些项将不会改变位置,仅仅检测其它在canvas的QCanvasItem是否有特殊的处理请求,比如说项目之间的碰撞。在1阶段,canvas的所有项将会改变位置,忽略在canvas上的任何其它项。两步平等调用,如果没有QCanvasItem子类提供,那么Qt在0阶段也不会做任何事。
QCanvasItem是一个在QCanvas上的抽象图形对象。
一个QCanvasItem对象能够通过诸如move(),moveBy(),setY()等一些函数移动变换x(),y()及z()各维的值,来达到移动到某一点的目的。它通过boundingRect()来得到大小。运用setAnimated()及setVel