我想在的QGraphicsView移動精靈。我用:爲什麼QGraphicsScene ::提前()不會重繪我的項目?
connect(timer, SIGNAL(timeout()), scene, SLOT(advance()));
timer->start(1000/33);
但我的精靈沒有重新粉刷。我必須做alt-tab來更新視圖。
我想在的QGraphicsView移動精靈。我用:爲什麼QGraphicsScene ::提前()不會重繪我的項目?
connect(timer, SIGNAL(timeout()), scene, SLOT(advance()));
timer->start(1000/33);
但我的精靈沒有重新粉刷。我必須做alt-tab來更新視圖。
在第一階段,通知所有項目場景即將更改,並在第二階段通知所有項目都可以移動。
文檔暗示這是一個場景項目的動畫通知工具,它沒有提到實際更新視圖。你可能需要您的QTimer::timeout()
信號連接到QGraphicsScene::update()
插槽。
到this (QGraphicsScene is missing a particular item update)類似,您只需將無效場景中的對象,並讓現場採取更新的照顧。
感謝。 update()修復了這個問題,但更多的update()放慢了遊戲速度。我會盡力解決這個問題。 – user1312748