【发布时间】:2012-06-20 13:35:18
【问题描述】:
我正在尝试在 QGraphicsView 中移动精灵。我用:
connect(timer, SIGNAL(timeout()), scene, SLOT(advance()));
timer->start(1000/33);
但我的精灵没有重新绘制。我必须使用 alt-tab 来更新视图。
【问题讨论】:
标签: qt qgraphicsview
我正在尝试在 QGraphicsView 中移动精灵。我用:
connect(timer, SIGNAL(timeout()), scene, SLOT(advance()));
timer->start(1000/33);
但我的精灵没有重新绘制。我必须使用 alt-tab 来更新视图。
【问题讨论】:
标签: qt qgraphicsview
在第一阶段,所有项目都被通知场景即将改变,在第二阶段,所有项目都被通知他们可以移动。
文档暗示这是一个场景项目的动画通知工具,它没有说明实际更新视图。您可能需要将QTimer::timeout() 信号连接到QGraphicsScene::update() 插槽。
【讨论】:
类似于this (QGraphicsScene is missing a particular item update),您只需使场景中的对象无效,并让场景负责更新。
【讨论】: