4

一起使用 Qt 的图形视图和模型视图框架的最佳方法/模式是什么?

似乎 Qt 应该以某种方式将这两件事联系在一起,但没有。QGraphicsItem 可以只保留一个 QModelIndex 就足够了吗?这听起来像是糟糕的解决方案。

以前我认为最好有一些 std::vector 的数据,将其包含在场景中并在 QTreeView 中显示其中的一些。这使得撤消/重做和同步数据变得非常困难,所以这次我试图从我的错误中吸取教训!

我似乎找不到任何明确的答案。

4

1 回答 1

0

我不确定这是否仍然相关,但由于我目前正在调查同一个问题,我想我会就迄今为止发现的内容发表简短评论:

ModelView 框架并不适用于QGraphicsViewandQGraphicsScene框架。如果你想在 MV 意义上拥有你的QGraphicsviewQGraphicsScene行为,你必须子类化QAbstractItem并将它包裹在 aQGraphicsscene这是QGraphicsView模型的周围。如果您不需要在不同的视图中可视化您的模型,我不建议您强制使用 MV 结构。这是关于这个主题的讨论: https ://www.qtcentre.org/threads/11763-GraphicsView-ModelView-Integration

于 2018-06-28T13:56:37.947 回答