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"); }

代码效果图:
QT之Tableview
文章图片

    推荐阅读