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模式的一点心得
一直都想写博客,可惜真的太懒了或者对自己的描述水平不太自信,所以...一直都是不想写的状态,关于领域驱动的东西看了不少,但是由于自己水平太差加上工作中实在用不到,所以一直处于搁置状态,最近心血来潮突然 ...
随机推荐
- 使用jquery给html标签加点击事件
//直接给所有img标签绑定click事件 $("img").click(function(){ alert('你点击了图片'); }) //使用bind方法绑定click事件 $ ...
- 防火墙firewalld 案例1.内网请求转发到外网
环境: 内网应用服务端口流量需要转发请求到外网端口 解决思路: firewalld 的富规则 d主机: 富规则 d主机对外dnat发布5423端口,然后dnat请求s的80端口: s主机snat返回8 ...
- vue的transition的name作用
记录一下今天在vue的transition中遇到的坑 <!DOCTYPE html> <html> <head> <title>Vue中CSS动画原理& ...
- springboot(十)使用LogBack作为日志组件
简介: 企业级项目在搭建的时候,最不可或缺的一部分就是日志,日志可以用来调试程序,打印运行日志以及错误信息方便于我们后期对系统的维护,在SpringBoot兴起之前记录日志最出色的莫过于log4j了, ...
- html address标签 语法
html address标签 语法 作用:定义文档作者/所有者的联系信息. 说明:如果 <address> 元素位于 <body> 元素内部,则它表示该文档作者/所有者的联系信 ...
- 1.Python编程基础
1. 其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令. 虽然借助 Siri(Apple).Google Now(Android) ...
- 实验报告(一)&第三周总结
Java实验报告 实验一 Java开发环境与简单Java程序 一. 实验目的 (1) 熟悉JDK开发环境 (2) 熟练掌握结构化程序设计方法 二. 实验内容 1. 打印输 ...
- angular 的跨域处理
angular 的跨域处理,由于不并不支持跨域处理,所以我们对他也是无可奈何,angular 的跨域处理,需要我们在服务器上进行处理,把请求的数据改成 * ,也就是,谁都可以请求数据: angular ...
- ORACLE 错误案例—ORA-27102: out of memory
SQL> startupORA-27102: out of memoryLinux-x86_64 Error: 28: No space left on deviceAdditional inf ...
- 【C++进阶:结构体作为叶节点初始化】
使用C++代码,表示叶节点的结构体初始化,以及使用new进行动态内存分配和赋值 #include <iostream> using namespace std; struct TreeNo ...