11、QML的模型、视图和委托(Model, View, Delegate)

本文介绍了QML中的Model-View-Delegate设计模式,用于构建用户界面。Model负责数据,View处理布局,Delegate关注显示样式和用户交互。通过Repeater控件的示例,展示了如何使用MVD模式动态创建和展示数据。当Model改变时,Delegate的显示也会相应更新。此外,还演示了使用ListModel和ListElement结合的方式,进一步说明数据模型的使用。

一、前言

Model-View-Controller (MVC) 是源自SmallTalk的一个设计模式,在构建用户界面时经常用到。把功能相近的部分归结在一起,不相近的部分进行隔离。MVC 将系统分解为模型、视图、控制器三部分,每一部分相对独立,职责单一,在实现过程中可以专注于MVC各自的核心逻辑。MVC的最基本的作用就是解耦

模型(Model)代表数据。视图(View)代表界面的布局。控制器(Controller )界面的具体显示样式,和用户进行具体的交互。

QML对Controller部分做了改动,引入了Delegate,合起来就是Model-View-Delegate。模型还是负责提供数据,视图则负责基本的布局管理,剩下显示样式由Delegate实现。

Model-View-Delegate的框架如下图:

model负责提供数据,view负责数据的具体显示位置,delegate和用户交互,负责编辑数据和具体的显示样式

类比到web前端,View提供了布局(html),Delegate提供了样式(css),model则提供数据(data),在mvc中, 不仅数据与显示要分离, 在显示中, 布局与样式也要分离, 布局指的是大的框架背景, 元素的排列组合方式和定位模式, 而样式指的是子元素的颜色,

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值