Qt mvc 三
来源:互联网 发布:自然堂 淘宝销售额 编辑:程序博客网 时间:2024/05/22 00:50
前面两节讲的model是一维的,这次开始二维的也就是我们常说的Table,相对与list,我们多了一个列的概念。
下面讲解一个例子。我先说明一下我们这个例子,在程序目录下,我们有一个文本文件,其中存放的学生信息。
数据存放的格式
学号 姓名 性别
xxx xxx x
每个学生的信息占一行,现在我们需要将这个文件中的所有学生信息加载显示。
在例子中主要涉及这几个类,Student,FileReader和DataTableModel类。
Student是学生实体类,FileRead从文件加载数据,后面的一个就是我们的model了。
下面代码贴出来
Student
Student类有三个数据成员,m_no学号,m_name姓名,m_sex性别。两个静态成员函数对类属性的一些描述,这个是侵入性的,后面优化可以是非侵入式的。重载的[]是为了使用方便,>>是为了支持流。
FileReader是一个模板类
构造参数是加载数据的文件名,提供了open操作,hasNext是判断是否结束,getNext得到一个加载的对象。
下面是我们的models,其中我使用了我的蹩脚的英文写了注释
本来是想也做成模板的,可是Qt元对象系统和模板机制是存在冲突的,以后讲为什么冲突。这里我使用了typedef来提前做了编译器应该做的事避免了冲突
data,rowCounts,flag,headerData这些都是需要重新实现的,在二维中columnCount就需要重新实现了。
只是为了显示所以flag很简单。
大家也看见了我在Student中实现的members,describe的用处,和重载[]所带来的便捷。
我们的列数就是需要对外实现的成员数,describe就是得到成员的描述。其实我感觉已经有点框架的味道了...算了不说大话了
其中的一个bug我已经用英文说了。
无图无真相
z
转自:
0 0
- Qt mvc 三
- Qt mvc 三
- Qt MVC学习 模型子类化参考(三)
- Qt MVC
- Qt MVC
- MVC(三)
- Qt mvc学习一
- Qt mvc二
- Qt mvc四
- QT MVC 模型/视图
- QT MVC模型
- QT MVC 模式
- Qt mvc学习一
- Qt mvc二
- Qt mvc四
- QT MVC模式
- 关于Qt的MVC
- Qt之MVC使用
- [交互设计]简约至上4原则
- linux下u盘检测程序
- javascript 闭包计数器
- 用NSZombieEnabled和MallocStackLogging解决恼人的EXC_BAD_ACCESS错误
- 用户
- Qt mvc 三
- 二叉排序树
- 9种算法思想
- 从一本书说起,创业失败常常是因为创业者忘了“自我更新”
- 问过任务和
- 跟我一起makefile学习笔记
- 关于android开发中涉及到的java知识:面向对象(二)
- GNU C语言的 扩展(五) __FUNCTION__ 预定义标志符
- 云和端之间从未如此流畅地结合