Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt模型/视图编程设计模式是否受到限制?_Qt_Design Patterns_View_Model - Fatal编程技术网

Qt模型/视图编程设计模式是否受到限制?

Qt模型/视图编程设计模式是否受到限制?,qt,design-patterns,view,model,Qt,Design Patterns,View,Model,我正在阅读有关设计模式的书籍,但我不知道如何定义模型。我的模型应该继承自QabstracteModel吗?如果是,我认为这是非常有限的,因为我的models类无法从另一个model类继承 C++具有多重继承,因此从技术上讲,您的模型可以从Qt模型基类和其他方面派生。 也就是说,多重继承是相当棘手的(无论如何对我来说),组合更容易正确 将ORM模型类与Qt“合并”的一种方法是创建一个Qt模型类,其中包含一个(或多个)ORM模型作为成员。Qt模型实际上将所有请求代理到您的ORM模型。Qt模型将只是一

我正在阅读有关设计模式的书籍,但我不知道如何定义模型。我的模型应该继承自QabstracteModel吗?如果是,我认为这是非常有限的,因为我的models类无法从另一个model类继承

C++具有多重继承,因此从技术上讲,您的模型可以从Qt模型基类和其他方面派生。
也就是说,多重继承是相当棘手的(无论如何对我来说),组合更容易正确

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


确保您检查了Qt方面的内容。

严格来说,不需要从另一个类继承。通常是。问题是我使用ActiveRecord作为ORM,所以我应用程序中的所有模型类都继承自ActiveRecord::Base。