使用 QGraphicsView/QGraphicsScene/QGraphicsItem,我需要创建另一个 QGraphicsItem 的多个视图。
换句话说,在 QGraphicsScene 中,我需要创建多个 QGraphicItem,它们显示存储在屏幕外某处的其他 QGraphicsItem 的一部分。它有点像模型/视图框架,其中一个 QGraphicsItem 充当模型,而其他 QGraphicsItem 充当视图 - 显示(剪辑)其他项目的部分。(见附图)
我怎样才能做到这一点?请注意,“视图”不应该是只读的。每个视图都应该对鼠标移动、键盘输入做出反应,并且应该在模型中的某些项目发生变化时正确地重新绘制自己。
最愚蠢的方法是将隐藏项目绘制到 QImage 上,然后在其他项目中显示该 QImage 的部分。然而,这将意味着大量的内存浪费。还有其他方法吗?
Qt 4.8,VC2008 express,Windows平台。
- 编辑 -
我需要在场景中显示部分场景(或屏幕外 QGraphicsItem)。这有点像 3D 游戏中的门户。