1

我正在尝试在 QGraphicsView 中移动精灵。我用 :

connect(timer, SIGNAL(timeout()), scene, SLOT(advance()));
timer->start(1000/33);

但是我的精灵没有重新绘制。我必须做 alt-tab 来更新视图。

4

2 回答 2

1

在第一阶段,所有项目都被通知场景即将改变,在第二阶段,所有项目都被通知他们可以移动。

文档暗示这是一个场景项目的动画通知工具,它没有说明实际更新视图。您可能需要将QTimer::timeout()信号连接到QGraphicsScene::update()插槽。

于 2012-06-20T13:44:41.620 回答
1

此类似(QGraphicsScene 缺少特定项目更新),您只需使场景中的对象无效,并让场景负责更新。

于 2012-06-21T07:39:22.357 回答