64常用控件_多元素控件介绍
xxWidget 和 xxView之间的区别
以 QTableWidget 和 QTableView 为例.
•QTableView是基于MVC设计的控件.QTableView自身不持有数据.使用QTableView的
时候需要用户创建一个Model对象(比如QStandardModel),并且把Model和
QTableView关联起来.后续修改Model中的数据就会影响QTableView的显示;修改
QTableView的显示也会影响到Model中的数据(双向绑定).
•QTableWidget则是QTableView的子类,对Model进行了封装.不需要用户手动创建
Model对象,直接就可以往QTableWidget中添加数据了.
直译
xxWidget vs xxView是啥区别??
xxView是更底层的实现.
xxWidget是基于xxView封装而来的~~
此处xxView是MVC结构的一种典型实现.
MVC也是软件开发中,非常经典的软件结构的组织形式了.M model 数据
V view视图(界面)
Ccontroller控制器数据和视图之间的业务流程此处xxView只是负责实现了视图
不负责数据如何存储表示,更不负责数据和视图之间的交互
因此如果使用xxView就需要程序员自己实现model
和controller的部分.就比较麻烦~~xxWidget基于xxView同时把model和controller都帮我们实现好了~~
拿过来就可以使用.人家提供了功能很方便的api,让我们直接就用~~类似:
我想买一个电脑~~
xxView我需要去买电脑的各种零件~~CPU,内存,主板,硬盘,显卡,电源,散热器,机箱..
买完之后,我就需要自己动手组装起来~~用最低的成本获取到最高的体验~~
使用起来更麻烦一些
但是可以根据情况来自由diy,实现更复杂的功能
xxWidget 则是买的整机
买完之后,不需要额外的操作,开箱即用~~
使用比较方便,功能比较有限
容易被坑~~