### > ```C++
QStringList addrList;
addrList << "数量"<< "" << "" << "" << "" << "" << "" << "" << "";
ui->tableWidget->setFrameShape(QFrame::NoFrame);//设置无边框
//隐藏表头
QStringList header;
header<<"指标"<<"数值"<<"指标"<<"数值";
ui->tableWidget->setHorizontalHeaderLabels(header);
ui->tableWidget->setColumnCount(header.size()); //设置列数
// 设置行数
ui->tableWidget->setRowCount(9);
// 设置 header 大小的约束:
// QHeaderView::Stretch:表示自动调整大小以填充可用空间;此时,header 大小将不能由用户或以编程方式进行修改;
// QHeaderView::ResizeToContents:表示自动调整 header 大小,以适应内容的大小;
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setDefaultSectionSize(150);
//添加表头
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << tr("指标")<<tr("数值")<<tr("指标")<<tr("数值"));
// 准备指标数据1
QStringList nameList;
nameList << "指标"<< "系统上行吞吐量:" << "边缘上行吞吐量:" << "上行资源利用率:" << "上行平均PHY BLER:" << "上行平均MCS等级:" << "上行SINR中位值:"<< "上行发送功率中位值:"<< "下行接收功率中位值:";
// 准备vaule数据1
QStringList genderList;
genderList << "数值"<< "" << "" << "" << "" << "" << "" << "" << "";
// 准备指标数据2
QStringList ageList;
ageList << "指标"<< "系统下行吞吐量:" << "边缘下行吞吐量:" << "下行资源利用率:" << "下行平均PHY BLER:" << "下行平均MCS等级:"<< "下行SINR中位值:" << "上行接收功率中位值:"<<"";
// 准备vaule数据2
ui->tableWidget->verticalHeader()->setVisible(false);
ui->tableWidget->horizontalHeader()->setVisible(false);
ui->tableWidget->setEditTriggers(QAbstractItemView::AllEditTriggers);
// //自适应行
ui->tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
// //自适应列
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
//自适应列头内容填充
// ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
// //最后一列填充剩余宽度
// ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
// ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
ui->tableWidget->setFocusPolicy(Qt::NoFocus); //去除选中虚线框
//去除框线
ui->tableWidget->setShowGrid(false);
ui->tableWidget->setFrameShape(QFrame::NoFrame);
//不可编辑
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
// 将数据添加到表格中
for (int i = 0; i < 9; i++)
{
int column = 0;
ui->tableWidget->setItem(i, column++, new QTableWidgetItem(nameList[i]));
ui->tableWidget->setItem(i, column++, new QTableWidgetItem(genderList[i]));
ui->tableWidget->setItem(i, column++, new QTableWidgetItem(ageList[i]));
ui->tableWidget->setItem(i, column++, new QTableWidgetItem(addrList[i]));
}
//设置不可点击
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < 4; j++)
{
QTableWidgetItem * item = ui->tableWidget->item(i, j);
item->setTextAlignment(Qt::AlignVCenter|Qt::AlignRight);
item->setFlags(Qt::NoItemFlags);
}
}
for (int j = 0; j < 4; j++)
{
QTableWidgetItem * item = ui->tableWidget->item(0, j);
item->setTextAlignment(Qt::AlignCenter);
item->setFlags(Qt::NoItemFlags);
}
```
https://www.cnblogs.com/mc-r/p/15917079.html
color: white; /*表格内文字颜色*/
gridline-color: black; /*表格内框颜色*/
background-color: rgb(108, 108, 108); /*表格内背景色*/
alternate-background-color: rgb(64, 64, 64);
selection-color: white; /*选中区域的文字颜色*/
selection-background-color: rgb(77, 77, 77); /*选中区域的背景色*/
border: 2px groove gray;
border-radius: 0px;
padding: 2px 4px;
/* 表格设置 */
QTableView{ /** QTableView设置 */
border: none;
background-color: white;
selection-background-color: black;
}
QHeaderView::section{ /*表头设置*/
border: none;
height:20px; /*表头高度*/
color: white;
font-size: 15px;
font-weight: 900;
background-color: rgb(80, 80, 80);
text-align: center;
}
QTableView::item{ /** 每个单元格设置 */
background-color: white;
border: none;
background-color: rgb(220, 220, 220); /*交替行,第二行*/
selection-background-color: white;
selection-color: black;
font-family: Consolas;
font-size: 11px;
text-align: center;
}
QTableView::item:!alternate:!selected{
background-color: white; /*交替行的另一颜色*/
selection-background-color: rgb(220, 220, 220);
selection-color: black;
}
# 如果要显示两种颜色还要在代码中添加
ui->tableView_name->setShowGrid(false); //<-----不显示grid
ui->tableView_name->setAlternatingRowColors(true); //<-----双色显示