2012-11-17 42 views
0

我正在开发一个软件来显示模拟结果。 我使用的是瓷砖,而且由于地图上有几百万个瓷砖,我决定不使用QGraphics的功能“绘制整个场景,只显示可见部分”,因为我阅读它可以很好地处理数千个瓷砖,而不是拥有数百万的瓷砖。在QGraphicsView中移动一个QGraphicsScene?

因此,我只显示地图的可见部分(数百个瓷砖)。它工作得很好。我在QGraphicsScene和QGraphicsView中添加了QGraphicsPixmapItem(= tiles)。

我的问题是:如何滚动地图? 我想要移动包含地图(=场景)的对象,以便所有的贴图一次移动。 我该怎么做?

回答

0

好吧,我终于找到了一些有用的:QGraphicsItemGroup
我所做的是将地图的所有拼贴显示为QGraphicsItemGroup,当我想滚动地图时,我只需拨打moveBy()即可登录QGraphicsItemGroup

所以,我有:
QGraphicsPixmapItem(=瓦)
QGraphicsItemGroup(=地图的容器,当我们滚动即移动)
QGraphicsScene(=场景)
QGraphicsView(=视图)

希望它能帮助,p

相关问题