Qt模型/查看具有复杂数据结构的编程

时间:2009-08-03 23:37:10

标签: qt design-patterns model-view

我不是专业的应用程序开发人员,所以我可能不熟悉模型/视图设计模式。尽管如此,我正试图在一个爱好应用程序中使用它并且悲惨地失败。我遇到的主要问题是我尝试显示和修改的数据不能用QAbstractItemModel的扩展名轻松表示。

我试图封装的数据本质上是一个可增长/可收缩,可变的整数列表。我应该放弃这样的数据的模型/视图模式吗?当数据的“维度”得到修复时似乎更合适。如果没有,是否有一个我可以采取的实施例,或者我应该拿起的好书?

问候。

2 个答案:

答案 0 :(得分:3)

我会看QAbstractListModel。这听起来像是一个比基本QAbstractItemModel更相关的模型。

示例中该模型的视图也有所不同:Puzzle

如果您需要更高级别的模型/视图,请查看this

答案 1 :(得分:0)

QAbstractItemModel只是一个,实际上是非常有限的实现模型/视图设计模式的方式。如果你发现你的情况不合适,那就不要太费力了。

更好的方法可能是使用自己的View类拉出自己的Model类并放弃QAbstractItemModel。这种设计模式比QT中实现的奇怪风格更多,而且这种风味仅适用于非常特殊的应用。

我建议您阅读about it some more并设计自己的模型 - 视图设置。如果你自己动手,你的课堂设计很可能更清晰,更好理解。