qt - Qt Model/View 编程设计模式是否受到限制?

标签 qt design-patterns view model

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

最佳答案

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

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

请务必查看Model subclassing reference对于 Qt 方面的事情。

关于qt - Qt Model/View 编程设计模式是否受到限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10359638/

相关文章:

c++ - 无法创建/采样 3D 纹理 (Qt/OpenGL)

windows - Qt4 程序崩溃,除非安装 SDK

java - 商店设计 - 多个产品类别

c++ - 设计可定制的字符串过滤器

html - 移动浏览器不支持宽度 100%?

android - SwipeRefreshLayout 不显示任何刷新指示器

qt - 使用 QML Media Player 获取慢动作视频

c++ - QT 中的 INCLUDEPATH 不起作用

javascript - html/javascript RIA 开发中的模式是什么?

android - 避免在 WindowManager 中更新的自定义 View 中的布局更改动画