Qt Model / View编程设计模式是否有限?

时间:2012-04-28 01:00:13

标签: qt design-patterns view model

我正在阅读Model/View programming设计模式,但我不明白如何定义模型。我的模型应该继承自QAbstractItemModel?如果是的话,我认为它非常有限,因为我的模型类不能从另一个模型类继承。

1 个答案:

答案 0 :(得分:2)

C ++有多重继承,所以从技术上讲,你的模型可以从Qt模型基类和其他东西中派生出来。
话虽如此,多重继承相当棘手(无论如何对我来说),组合更容易正确。

将您的ORM模型类与Qt“合并”的一种方法是创建一个Qt模型类,其中有一个(或多个)ORM模型作为成员。 Qt模型基本上代理了对ORM模型的所有请求。 Qt模型只是一个“适配器”。这使您的ORM代码独立于GUI工具包,这通常很好。

请务必查看Qt方面的Model subclassing reference