我有一个应用程序显示使用QGraphicsScene对象的图的编辑器。我想创建同一个对话框的只读版本,但有能力让用户同时看到两者。在Qt中的两个QGraphicScene实例中共享相同的模型
SimScene* pScene1 = new SimScene(model); // adds model to scene
SimScene* pScene2 = new SimScene(model); // adds model to scene
QGraphicsView* pView1 = new QGraphicsView();
pView1->setScene(pScene2);
QGraphicsView* pView1 = new QGraphicsView();
pView2->setScene(pScene2);
当我创建QGraphicsScene的2个实例,并在第二个它会从第一个所有项目使用的addItem。 Qt是否支持场景之间的任何形式的模型共享?我唯一的选择是拥有相同的场景并尝试自定义视图?后来一个似乎不工作,因为对象选择信息在被共享的图形项目内,所以如果我禁用它们的标志,它们将变成只读在两个视图中。任何建议表示赞赏。谢谢。
你是对的。现有的系统具有作为GUI项目的模型项目,这就是为什么当第二个场景被添加到第一个场景时,它们最终被移除的原因。我会尝试分离它们。谢谢。 – 2009-07-13 18:22:28