我或多或少了解MPV是如何工作的。 但我没有得到什么课:
QAbstractItemModel
QAbstractItemView
QAbstractItemDelegate
/QItemDelegate
可以帮我吗?
如果这是相关的,我正在使用
QGraphicsScene
/ QGraphicsView
使用一些元素(游戏板的可视化表示),用户可以与交互逻辑(游戏规则)封装在其他类中时进行交互。
我或多或少了解MPV是如何工作的。 但我没有得到什么课:
QAbstractItemModel
QAbstractItemView
QAbstractItemDelegate
/ QItemDelegate
可以帮我吗?
如果这是相关的,我正在使用
QGraphicsScene
/ QGraphicsView
使用一些元素(游戏板的可视化表示),用户可以与交互逻辑(游戏规则)封装在其他类中时进行交互。
来自 “模式/视图框架”
这是应用程序数据部分的一个非常强大的框架, 这里 是框架的介绍。
化QAbstractItemModel
是基类 MVC的模型。具有访问和更改数据的全局接口,并负责Observable部分。
QAbstractItemView中
是基类 MVC的观点。具有视图/选择部分的全局界面,它负责观察者部分。您不必担心观察者模式,框架会为您完成。
QAbstractItemDelegate
是基类 MVC的控制器。
是绘制,编辑元素的策略模式,......
来自 “图形视图框架” 并且是 独立于Model / View框架。
这也是图形部分非常强大的框架。
现场
QGraphicsScene提供图形 查看场景。现场有 以下职责:
提供快速接口 管理大量物品 将事件传播到每个项目 管理项目状态,例如选择 和焦点处理提供 未转换的渲染功能; 主要用于印刷
风景
QGraphicsView提供视图 小部件,可视化内容 一个场景。你可以附上几个 观点到同一场景,提供 几个视口进入相同的数据 组
如果您希望模型在QGraphicsView中可见,则必须基于QAbstractItemView编写自己的视图。
将QGraphicsView作为视图端口小部件 QAbstractScrollArea::setViewport(QWidget * widget))
然后你就可以了
QAbstractItemView::rowsInserted
, QAbstractItemView::rowsAboutToBeRemoved
QAbstractItemView::dataChanged
场景中的项目。不要忘记处理重置布局更改事件。
来自 “模式/视图框架”
这是应用程序数据部分的一个非常强大的框架, 这里 是框架的介绍。
化QAbstractItemModel
是基类 MVC的模型。具有访问和更改数据的全局接口,并负责Observable部分。
QAbstractItemView中
是基类 MVC的观点。具有视图/选择部分的全局界面,它负责观察者部分。您不必担心观察者模式,框架会为您完成。
QAbstractItemDelegate
是基类 MVC的控制器。
是绘制,编辑元素的策略模式,......
来自 “图形视图框架” 并且是 独立于Model / View框架。
这也是图形部分非常强大的框架。
现场
QGraphicsScene提供图形 查看场景。现场有 以下职责:
提供快速接口 管理大量物品 将事件传播到每个项目 管理项目状态,例如选择 和焦点处理提供 未转换的渲染功能; 主要用于印刷
风景
QGraphicsView提供视图 小部件,可视化内容 一个场景。你可以附上几个 观点到同一场景,提供 几个视口进入相同的数据 组
如果您希望模型在QGraphicsView中可见,则必须基于QAbstractItemView编写自己的视图。
将QGraphicsView作为视图端口小部件 QAbstractScrollArea::setViewport(QWidget * widget))
然后你就可以了
QAbstractItemView::rowsInserted
, QAbstractItemView::rowsAboutToBeRemoved
QAbstractItemView::dataChanged
场景中的项目。不要忘记处理重置布局更改事件。