2012-11-17 63 views
0

我正在開發一個軟件來顯示模擬結果。 我使用的是瓷磚,而且由於地圖上有幾百萬個瓷磚,我決定不使用QGraphics的功能「繪製整個場景,只顯示可見部分」,因爲我閱讀它可以很好地處理數千個瓷磚,而不是擁有數百萬的瓷磚。在QGraphicsView中移動一個QGraphicsScene?

因此,我只顯示地圖的可見部分(數百個瓷磚)。它工作得很好。我在QGraphicsScene和QGraphicsView中添加了QGraphicsPixmapItem(= tiles)。

我的問題是:如何滾動地圖? 我想要移動包含地圖(=場景)的對象,以便所有的貼圖一次移動。 我該怎麼做?

回答

0

好吧,我終於找到了一些有用的:QGraphicsItemGroup
我所做的是將地圖的所有拼貼顯示爲QGraphicsItemGroup,當我想滾動地圖時,我只需撥打moveBy()即可登錄QGraphicsItemGroup

所以,我有:
QGraphicsPixmapItem(=瓦)
QGraphicsItemGroup(=地圖的容器,當我們滾動即移動)
QGraphicsScene(=場景)
QGraphicsView(=視圖)

希望它能幫助,p

相關問題