tableview(model base)
发布日期:2021-10-22 10:56:47 浏览次数:9 分类:技术文章

本文共 1839 字,大约阅读时间需要 6 分钟。

该tableview控件的用法:

1、原理:

数据存放在“表”对象中,而将这个对象关联到tableview控件之后,将实现在UI中展示出来。

1 class Query_Students : public QDialog 2 { 3     Q_OBJECT 4  5 public: 6     ... 7 private: 8  9     QStandardItemModel* model;      //表对象10 };
1     /*2     创建一个表对象3     */4     this->model = new QStandardItemModel();
1     //关联表对象与tableview控件,这样表的内容就显式到tableview控件上去了2     this->ui->tableView->setModel(model);

怎么存放数据进表:实际上就是将数据存放进表对象中,存放时分为表头+表项两种数据

表头:一般是一些说明性的字符串,需要先展示出来,所以表头部分在构造函数中添加:

1 Query_Students::Query_Students(QWidget *parent) : 2     QDialog(parent), 3     ui(new Ui::Query_Students) 4 { 5     ui->setupUi(this); 6  7     //1、设置表头,setHorizontalHeaderItem不需要行参数(就是第一行),需要:列号+要显式的内容 8     //表头是需要在窗口显式出来的时候就显式的,而数据项是在点击“开始查询”之后才填入的。 9     this->model->setHorizontalHeaderItem(0,new QStandardItem("姓名"));10     this->model->setHorizontalHeaderItem(1,new QStandardItem("学号"));11     this->model->setHorizontalHeaderItem(2,new QStandardItem("性别"));12     this->model->setHorizontalHeaderItem(3,new QStandardItem("院系"));13     this->model->setHorizontalHeaderItem(4,new QStandardItem("年龄"));14     this->model->setHorizontalHeaderItem(5,new QStandardItem("爱好"));15 16     //除表头外的数据后续添加...17 }

怎么添加表格中数据:

下面以QStringList数据填入为例进行示例:

1 /* 2 当获取到文件中一行记录之后,并且转换为QStringList对象了,需要将其填入到指定的行、列标识的表中 3 setItem:一次只能填一个表格的信息,需要知道行号+列号+内容 4 */ 5 void Query_Students::match_stud_info(int row,QStringList subs){ 6     //前面五个都是1对1的,比如:姓名-->jerry 7     for(int i = 0;i<5;i++){ 8         this->model->setItem(row,i,new QStandardItem(subs.at(i))); 9     }10     //对于爱好,由于是1对多的,需要拼接所有,然后显示在一个表格中——即 爱好:篮球 排球 足球 羽毛球11     QString line_item ="";12     for(int i=5;i
model->setItem(row,5,new QStandardItem(line_item));16 }
match_stud_info是一个自定义函数,需要传入:行号+ QStringlist的数据源 setLtem才是真正填写到表格中的操作,需要行号+列号+数据

 <续...>

 

转载于:https://www.cnblogs.com/data1213/p/10805428.html

转载地址:https://blog.csdn.net/weixin_30326745/article/details/95650444 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Good Sentences
下一篇:多线程总结之旅(2):什么是多线程

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年03月31日 14时09分24秒