QT之Tableview
想要了解更多的tableview可以看这位博客Qt深入浅出(十五)QTableView?
这里做了一个简单的学生系统查询功能显示Tableview:
表格视图控件QTableView,需要和QStandardItemModel, 配套使用,这套框架是基于MVC设计模式设计的,M(Model)是QStandardItemModel数据模型,不能单独显示出来。V(view)是指QTableView视图,要来显示数据模型,C(controllor)控制在Qt中被弱化,与View合并到一起。
this->model = new QStandardItemModel;
//创建一个标准的条目模型
this->ui->tableView->setModel(model);
此函数将创建并设置新的选择模型,将以前设置的任何模型替换为model(标准的条目模型), model设置的内容都将显示在tableview上。一般情况下:tableView上设置要显示“文本”信息,则在model上设置,tableView上设置字体的颜色边框大小,则在tableView上设置
//setHorizontalHeaderItem设置水平条目栏
//在tableView上水平条目栏的头第0列设置为姓名
this->model->setHorizontalHeaderItem(0, new QStandardItem(“姓名”) );
【QT之Tableview】//setColumnWidth设置每一列的宽度
this->ui->tableView->setColumnWidth(0, 100);
//设置列的宽度
//setItem设置条目栏中的一个格子的信息
this->model->setItem(0, 5, new QStandardItem(“hello world” ) );
//setRowCount设置行段数目
//setHeaderData设置行头的名称
model->setRowCount(3);
model->setHeaderData(0,Qt::Vertical, “行0”);
QueryStu::QueryStu(QWidget *parent) :
QDialog(parent),
ui(new Ui::QueryStu)
{
ui->setupUi(this);
//readFromFile();
this->model = new QStandardItemModel;
//创建一个标准的条目模型
this->ui->tableView->setModel(model);
//将tableview设置成model这个标准条目模型的模板, model设置的内容都将显示在tableview上this->model->setHorizontalHeaderItem(0, new QStandardItem("姓名") );
this->model->setHorizontalHeaderItem(1, new QStandardItem("学号"));
this->model->setHorizontalHeaderItem(2, new QStandardItem("性别"));
this->model->setHorizontalHeaderItem(3, new QStandardItem("年龄"));
this->model->setHorizontalHeaderItem(4, new QStandardItem("院系"));
this->model->setHorizontalHeaderItem(5, new QStandardItem("兴趣"));
this->ui->tableView->setColumnWidth(0, 100);
//设置列的宽度
this->ui->tableView->setColumnWidth(1, 150);
this->ui->tableView->setColumnWidth(2, 50);
this->ui->tableView->setColumnWidth(3, 50);
this->ui->tableView->setColumnWidth(4, 100);
this->ui->tableView->setColumnWidth(5, 150);
/*setItem设置条目栏中的一个格子的信息*/
this->model->setItem(1, 5, new QStandardItem("hello world" ) );
/*设置行字段名*/
model->setRowCount(3);
model->setHeaderData(0,Qt::Vertical, "行0");
model->setHeaderData(1,Qt::Vertical, "行1");
model->setHeaderData(2,Qt::Vertical, "行2");
}
代码效果图:
文章图片
推荐阅读
- PMSJ寻平面设计师之现代(Hyundai)
- 太平之莲
- 闲杂“细雨”
- 七年之痒之后
- 深入理解Go之generate
- 由浅入深理解AOP
- 期刊|期刊 | 国内核心期刊之(北大核心)
- 生活随笔|好天气下的意外之喜
- 感恩之旅第75天
- python学习之|python学习之 实现QQ自动发送消息