tableview(model base)
该tableview控件的用法:
1、原理:
数据存放在“表”对象中,而将这个对象关联到tableview控件之后,将实现在UI中展示出来。
class Query_Students : public QDialog
{
Q_OBJECT public:
...
private: QStandardItemModel* model; //表对象
};
/*
创建一个表对象
*/
this->model = new QStandardItemModel();
//关联表对象与tableview控件,这样表的内容就显式到tableview控件上去了
this->ui->tableView->setModel(model);
怎么存放数据进表:实际上就是将数据存放进表对象中,存放时分为表头+表项两种数据
表头:一般是一些说明性的字符串,需要先展示出来,所以表头部分在构造函数中添加:
Query_Students::Query_Students(QWidget *parent) :
QDialog(parent),
ui(new Ui::Query_Students)
{
ui->setupUi(this); //1、设置表头,setHorizontalHeaderItem不需要行参数(就是第一行),需要:列号+要显式的内容
//表头是需要在窗口显式出来的时候就显式的,而数据项是在点击“开始查询”之后才填入的。
this->model->setHorizontalHeaderItem(,new QStandardItem("姓名"));
this->model->setHorizontalHeaderItem(,new QStandardItem("学号"));
this->model->setHorizontalHeaderItem(,new QStandardItem("性别"));
this->model->setHorizontalHeaderItem(,new QStandardItem("院系"));
this->model->setHorizontalHeaderItem(,new QStandardItem("年龄"));
this->model->setHorizontalHeaderItem(,new QStandardItem("爱好")); //除表头外的数据后续添加...
}
怎么添加表格中数据:
下面以QStringList数据填入为例进行示例:
/*
当获取到文件中一行记录之后,并且转换为QStringList对象了,需要将其填入到指定的行、列标识的表中
setItem:一次只能填一个表格的信息,需要知道行号+列号+内容
*/
void Query_Students::match_stud_info(int row,QStringList subs){
//前面五个都是1对1的,比如:姓名-->jerry
for(int i = ;i<;i++){
this->model->setItem(row,i,new QStandardItem(subs.at(i)));
}
//对于爱好,由于是1对多的,需要拼接所有,然后显示在一个表格中——即 爱好:篮球 排球 足球 羽毛球
QString line_item ="";
for(int i=;i<subs.length();i++){
line_item +=subs.at(i)+',';
}
this->model->setItem(row,,new QStandardItem(line_item));
}
match_stud_info是一个自定义函数,需要传入:行号+ QStringlist的数据源
setLtem才是真正填写到表格中的操作,需要行号+列号+数据
<续...>
tableview(model base)的更多相关文章
- NopCommerce架构分析之五------Model绑定Action参数
asp.net MVC中Action参数不只是一些基本类型,也支持实体参数.那么从客户端传来的数据如何映射或转换成实体对象呢?就是通过实体绑定类ModelBinder.此系列类在请求转化为后台Cont ...
- ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上
原文:ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上 ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model ...
- JFinal极速开发框架使用笔记(三) 分析Model和ActiveRecord
JFinal框架的一些新发现的用法: 在JFinal框架中,实体类并不需要设置属性,更不需要配置getset方法就可以很方便的操作数据库,如果需要设置或者获取属性,可以直接使用一下方式: User u ...
- JFinal Web开发学习(四)数据库连接与自动生成model
1.新建数据库jfinal_test,user表 /* Navicat MySQL Data Transfer Source Server : . Source Server Version : 50 ...
- RookeyFrame 线下 添加Model
1.在Model层添加一个类,继承BaseEntity,如: (将就demo里面的类改了一下) using Rookey.BusSys.Model.Base; using Rookey.BusSys. ...
- IOS彩票第二天设置界面(1)
****跳转到设置界面 - (IBAction)setting:(id)sender { // 创建设置口控制器 ILSettingTableViewController *settingVc = [ ...
- CSharpGL(33)使用uniform块来优化对uniform变量的读写
CSharpGL(33)使用uniform块来优化对uniform变量的读写 +BIT祝威+悄悄在此留下版了个权的信息说: Uniform块 如果shader程序变得比较复杂,那么其中用到的unifo ...
- phpcms V9 整合 Discuz! X2 教程
整合原理: UCenter 作服务端:phpsso 与 Discuz! 分别作 UCenter 的客户端应用:phpsso 与 Discuz! 通过 UCenter 发生交互. phpcms 通过 p ...
- 关于MVC EF架构及Repository模式的一点心得
一直都想写博客,可惜真的太懒了或者对自己的描述水平不太自信,所以...一直都是不想写的状态,关于领域驱动的东西看了不少,但是由于自己水平太差加上工作中实在用不到,所以一直处于搁置状态,最近心血来潮突然 ...
随机推荐
- Python 元组Ⅱ
删除元组 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组,如下实例: 以上实例元组被删除后,输出变量会有异常信息,输出如下所示: 元组运算符 与字符串一样,元组之间可以使用 + ...
- html applet标签 语法
html applet标签 语法 作用:定义嵌入的 applet. 说明:某些浏览器中依然存在对 <applet> 但是需要额外的插件和安装过程才能起作用.大理石机械构件 注释:HTML5 ...
- (知识)width、naturalWidth、clientWidth、offsetWidth区别整理
今天在做图片裁剪功能的时候,参考了下网友的资料,发现大家对图片宽度的获取方式不尽相同,于是详细整理下各个属性的区别(详细请参考MDN). 1,HTMLImageElement.width是一个unsi ...
- java实验报告&第三周学习总结
实验报告: 实验1:求水仙花数在C语言中求水仙花数是一个复杂且长的代码,在java中可以通过简单的代码来实现操作,找出水仙花数: 图例如下: 试验2:求13+23-33+43-53.........9 ...
- linux查看端口被那个进程占用
linux下遇到端口被暂用了 需要知道是哪个进程 比如80端口 可以这样 netstat -tunlp|
- GoldenGate—AUTORESTART配置
AUTORESTART Valid For Manager Description Use the AUTORESTART parameter to start one or more Extract ...
- 【洛谷T89359 扫雷】
题目链接 这个题有一个十分简单的做法 我们可以考虑位运算 按位异或(^) 异或,英文为exclusive OR,缩写成xor 异或(xor)是一个数学运算符.它应用于逻辑运算.异或的数学符号为“⊕”, ...
- easyhook源码分析二——注入
EasyHook 中的注入方法. 函数原型 // EasyHook 中的命名比较有意思,Rh 代表的就是Remote Hook,此函数就是远程钩子的一个子过程----注入,前面的宏代表它是导出函数. ...
- 三、Jmeter生成HTML报告
1.执行jmeter -n -t [接口脚本地址] -l [test.jtl地址] -e -o [报告输出地址] 例如:jmeter -n -t C:\chushujin\youxinscript\j ...
- Windows操作路由表
route print route add 172.17.0.0 mask 255.255.0.0 192.168.99.100 route delete 172.17.0.0 mask 255.25 ...