一、浅谈QTableView和QTableWidget数据表格显示方式
① QTableView是基于MVC架构,QTableView表格用来做显示,QStandardItemModel用来做数据模型控制,QStandardItem用来做数据源,而且是一个单元格一个数据源。在使用过程中都是使用这些类定义的对象。
QTableView tableView;
QStandardItemModel model;
QStandardItem item;
tableViem.setModel(model);
model.setItem(item);
item.setData();
有了大的概念之后就可以按着想要的效果去对应的对象里做工作了。比如我想把数据居中显示,就可以去item中改,查找手册,可以看到setTextAligment函数,加入对应的文字格式就行,但是这个方式要将每个item都修改。
Model中也有setData函数,可以在里面设置数据,前提是要先用model.index()函数获得表格数据的model索引。而且自已写一个QStandardItemModel的继承类,重写里面的data函数,就可以实现自已定义的显示方式,比如居中显示。
为了实现有了一行数据,才显示一行在Table中,可以使用model.setItem函数增加一个item,就会对应显示一行。
其余的根据各自的函数加入对应的参数进去。
② QTableWidget是QTableView的子类,QTableWidget用来显示,QStantardItemWidget做数据源,其余和QTableView一样。
QTableView tableView;
QStandardItem item;
tableView.setItem(item)
item.setData();
可以用ui->regionTableViewinsertRow(ui->regionTableView->rowCount())增加一行空间,但是里面要加入item实体才可以显示出内容;用item->setTextAlignment(Qt::AlignCenter)让item中的数据居中显示。