如何深入理解并高效运用QT模型视图委托代理机制中的Model View Delegate?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4010个文字,预计阅读时间需要17分钟。
目录- 本地数据加载(Data)- 数据模型(Model)- 代理模型(Proxy)- 元素代理(Delegate)- 视图层(View)- 使用效果- 前文介绍过QT的委托代理机制,当时因理解较浅...
目录
- 本地数据加载(Data)
- 添加数据模型(Model)
- 添加代理模型(Proxy)
- 添加元素的代理(Delegate)
- 添加视图层(View)
- 使用效果
之前的一篇文章中介绍过QT的委托代理机制,那时候由于理解的比较浅就简单的给了一个例子。最近又做了一部分相关的工作,发现之前的理解有点问题。这里就详细的介绍一下QT的委托代理机制的用法,希望对大家有帮助。
Model-View-Delegate机制可以简单的理解为将本地的一些数据以特定的UI形式呈现出来。常见的数据结构包括列表数据(list)、表格数据(table)、树状数据(tree),分别对应着QT中的QListView、QTableView、QTreeView控件。本地数据和视图代理之间的关系如下图所示:
数据模型中的数据来源可以是本地的XML文件、JSON文件、二进制数据,也可以数据库中的数据表。这些数据源中的数据按照一定的结构加载到对应的数据模型中,我们可以通过操作数据模型中的数据来间接的操作数据源中的数据。
有时候,我们需要对数据模型中的数据进行二次处理,包括数据筛选、数据排序、数据处理等等,这时候我们就得需要引入模型代理,负责对数据模型进行处理。当然模型代理不是必须的。
本文共计4010个文字,预计阅读时间需要17分钟。
目录- 本地数据加载(Data)- 数据模型(Model)- 代理模型(Proxy)- 元素代理(Delegate)- 视图层(View)- 使用效果- 前文介绍过QT的委托代理机制,当时因理解较浅...
目录
- 本地数据加载(Data)
- 添加数据模型(Model)
- 添加代理模型(Proxy)
- 添加元素的代理(Delegate)
- 添加视图层(View)
- 使用效果
之前的一篇文章中介绍过QT的委托代理机制,那时候由于理解的比较浅就简单的给了一个例子。最近又做了一部分相关的工作,发现之前的理解有点问题。这里就详细的介绍一下QT的委托代理机制的用法,希望对大家有帮助。
Model-View-Delegate机制可以简单的理解为将本地的一些数据以特定的UI形式呈现出来。常见的数据结构包括列表数据(list)、表格数据(table)、树状数据(tree),分别对应着QT中的QListView、QTableView、QTreeView控件。本地数据和视图代理之间的关系如下图所示:
数据模型中的数据来源可以是本地的XML文件、JSON文件、二进制数据,也可以数据库中的数据表。这些数据源中的数据按照一定的结构加载到对应的数据模型中,我们可以通过操作数据模型中的数据来间接的操作数据源中的数据。
有时候,我们需要对数据模型中的数据进行二次处理,包括数据筛选、数据排序、数据处理等等,这时候我们就得需要引入模型代理,负责对数据模型进行处理。当然模型代理不是必须的。

