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模式的一点心得
一直都想写博客,可惜真的太懒了或者对自己的描述水平不太自信,所以...一直都是不想写的状态,关于领域驱动的东西看了不少,但是由于自己水平太差加上工作中实在用不到,所以一直处于搁置状态,最近心血来潮突然 ...
随机推荐
- 开发一个chrome插件:将百度搜索热点屏蔽掉!
每次百度搜索,搜索结果的右边总是出现些乱七八糟的搜索热点(推的都是些什么玩意,高校替课和我有毛关系,几个悲伤的热点我用星号顶掉了). 强迫症想把它隐藏掉,我用的是chrome浏览器,受adblock( ...
- Spring Boot 的各种start
新建一个springBoot项目时,你会选择很多依赖,在项目中的build.gradle中你会看见各种start,例如下边的代码: 今天就在这里列举一下各种start: 1.spring-boot-s ...
- option跳转页面并选中当前值
思路:使用cookie传值赋值 具体实现部分代码: <select onchange="test(this)" class="form-control" ...
- CodeForces 1100F Ivan and Burgers
CodeForces题面 Time limit 3000 ms Memory limit 262144 kB Source Codeforces Round #532 (Div. 2) Tags da ...
- prometheus 监控项
此处记录prometheus监控项,exporter为 node_exporter vim rules.yml groups: - name: node rules: - alert: server_ ...
- 虚树总结&题单&简要题解
简介 虚树,即剔除所有无关结点,只保留询问点和询问点的相关结点(两两之间的LCA),建一棵新树,这棵新树就是虚树.通过虚树,可以有效的减小询问(甚至修改)的复杂度.设询问点的个数是\(k\),那么建虚 ...
- Spring 4.2.2以上版本和swagger集成方案和踩过的坑
因为公司使用的spring版本太高,在集成swagger的时候会存在一些问题,而网上的很多实例大多都是版本比较低的,为了是朋友们少才坑,我这边将集成的过程记录一下: 1. 引入spring.swagg ...
- sqli-labs(21)
cookie注入 引号和括号闭合 base64编码 0X01 看了题目应该是 cookie注入 闭合是') 那么base64编码是什么鬼?? 看源码解决吧 https://www.cnblogs.co ...
- NOIP2018复赛游记
Day -oo (这里是负无穷啦qwq) 为了NOIP2018,我已经准备了好久 暑假的封闭式训练,国庆后停掉了晚自习,距NOIP一周时更是停掉了全天的课...... 我像是一个圆,在近乎无限的空间里 ...
- Buffer-Overflow Vulnerability Lab
实验概述 Buffer overflow 定义 Buffer overflow is defined as the condition in which a program attempts to ...