如何用QGraphicsScene作为模型实现MVC?

时间:2015-12-28 23:57:59

标签: qt model-view-controller qgraphicsscene

我正在努力使用MVC概念。

我目前的设计:

  • QGraphicsScene的子类,它实现了大量属性:

    • setPropertyAOnSelectedItems / getPropertyAOfSelectedItems
    • setPropertyBOnScene / getPropertyBOfScene
  • QGraphicsView的子类,它实现了一些属性(如缩放,居中,某些鼠标或手势动作)

  • 包含要编辑的视图和用户工具的UI - 从场景设置/读取属性

  • 其他类似的UI,具有不同的设计和编辑场景属性的子集

阅读如何在Qt中实现MVC,目前我假设场景子类是一个巨大的“模型” - 除了它没有公开Qt的例子中的函数类型...索引,行和列信息似乎没用,并且对大量复杂属性使用data()似乎......不适用(即使分配了大量“角色”)。

UI将是View ...这将允许多个UI使用相同的模型...

但是什么是控制器?

阅读“瘦”控制器 - 似乎在这种情况下,我可以拥有一个控制器,除了回显从UI,到场景,然后回来的信息之外什么都不做......而这似乎没用!

我会在哪里进行范围检查/有效检查/单位转换?这是控制器的作用吗?
我希望将Validation类分开 - 在MVC层次结构中哪个位置?

我试图阅读并调整MVC概念以解决我的问题,但我只是看不出如何将其分解......

0 个答案:

没有答案