Qt 笔记:自定义模板类

QStandardItemModel是一个通用的模型类

-能够以任意的方式组织数据(线性,非线性)

-数据组织的基本单位为数据项(QStandardItem)

-每一个数据项能够存储多个具体数据(附加数据角色)

-每一个数据项能够对数据状态进行控制(可编辑,可选,...)

Qt中的通用模型类QStandardItemModel

 Qt中的变体类型QVariant

-QVariant是一个用于封装的类型

-QVariant能够表示大多数常见的值类型

-QVariant每次只能封装(保存)单一类型的值

-QVariant的意义在于能够设计“返回类型可变的函数”

变体类型QVariant中的常用成员函数

-bool isNull()

-bool isValid()

-void setValue(const T&)

-Type type()

-const char *typeName()

-T value()

工程中的常用模型设计

-解释数据源中的数据(数据库,网络,串口,等)

-将解析后的数据存入QStandardItem对象中

-根据数据间的关系在QStandardItemModel对象中组织数据项

-选择合适的视图显示数据值

实例分析:

-在文件中以行的姓氏存储了考试成绩信息(ID,Name,Score)

-开发GUI程序显示文件中的信息

·计算平均成绩

·查找最好成绩和最差成绩

·可刷新显示的内容和删除内容

系统架构图

系统核心类图

DataSource类的设计与实现

-设置数据源并读取数据

-对数据进行解析后生成数据对象

右键上下文菜单的实现

-定义菜单对象(QMenu)

-连接菜单中的QAction对象到槽函数

-定义事件过滤器,并处理ContextMenu事件

-在当前鼠标的位置打开菜单对象

总结:

-数据源类(DataSource)用于抽象表示数据的来源

-模型类(Model)用于从数据源获取数据并组织

-视图类(View)用于显示模型中的数据

-数据应用4层架构设计非常易于扩展和维护

Model-Demo

猜你喜欢

转载自blog.csdn.net/qq_29962483/article/details/82799379