1.创建:ui界面拖拉创建
在mainwindow.ui
页面上找到Table View
控件:
然后拖拉到指定位置
2.定义表格的格式
头文件:
#include <QTableView>
#include <QStandardItemModel>
model(表格格式)定义为10行2列
QStandardItemModel* model = new QStandardItemModel(10,2);
给model 设置表头:
QStringList labels = QObject::trUtf8("温度,热膨胀系数").simplified().split(",");
model->setHorizontalHeaderLabels(labels);
QTableView设置QStandardItemModel
ui->TableView->setModel(model);
设置表格字体格式
ui->table->horizontalHeader()->setStyleSheet("QHeaderView::section {"
"color: black;padding-left: 4px;border: 1px solid #6c6c6c;}");
设置表格内的元素:
setItem(行号,列号,item变量)
QStandardItem* item = 0;
for(int i = 0;i <= 9; i++){
// 给item赋值
item = new QStandardItem(QString("%1").arg(i));
// 表格内元素设置字体居中
item->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
// 设置表格单元格内容
model->setItem(i,0,item);
}
隐藏表格的行号
ui->table->verticalHeader()->hide();
指定表格的固定列宽
for(int i = 0; i < ui->table->horizontalHeader()->count(); i++)
{
ui->table->setColumnWidth(i,274);
}
3.综合
//表格设置
QStandardItemModel* m_model;
m_model = new QStandardItemModel(10,2);
QStringList labels = QObject::trUtf8("温度,热膨胀系数").simplified().split(",");
m_model->setHorizontalHeaderLabels(labels);
ui->table->setModel(m_model);
ui->table->horizontalHeader()->setStyleSheet("QHeaderView::section {"
"color: black;padding-left: 4px;border: 1px solid #6c6c6c;}");
//定义item
QStandardItem* item = 0;
for(int i = 16;i <= 25; i++){
item = new QStandardItem(QString("%1").arg(i));
item->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
m_model->setItem(i-16,0,item);
}
ui->table->verticalHeader()->hide();
for(int i = 0; i < ui->table->horizontalHeader()->count(); i++)
{
ui->table->setColumnWidth(i,274);
}