1.效果

在这里插入图片描述

2.各项设置
1 设置某列不可编辑
QTableWidgetItem *item = new QTableWidgetItem("test");
item->setFlags(item->flags() & (~Qt::ItemIsEditable));
2 设置表格禁止编辑
ui.tablewidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
3 设置单击选择某一行,不是选择某一项
//设置单击选择一行
ui.tablewidget->setSelectionBehavior(QAbstractItemView::SelectRows);
//设置只能选择一行,不能多行选中
ui.tablewidget->setSelectionMode(QAbstractItemView::SingleSelection);
4 设置表格列宽,设置表格最后一列自适应拉伸
ui.tablewidget->setColumnWidth(0, 220);
ui.tablewidget->setColumnWidth(1, 65);
ui.tablewidget->horizontalHeader()->setStretchLastSection(true);
5 表格插入数据
int row_count = ui.tablewidget->rowCount();
ui.tablewidget->insertRow(row_count);
QTableWidgetItem *item_time = new QTableWidgetItem(current_date);
QTableWidgetItem *item_level = new QTableWidgetItem(QString::fromStdString(level));
QTableWidgetItem *item_data = new QTableWidgetItem(QString::fromStdString(data));
ui.tablewidget->setItem(row_count, 0, item_time);
ui.tablewidget->setItem(row_count, 1, item_level);
ui.tablewidget->setItem(row_count, 2, item_data);
6 删除表格的所有行
ui.table_widget_->clearContents();
for (int i = ui.log_widget_->rowCount(); i > 0; i--)
{
    ui.log_widget_->removeRow(0);
}
7 设置表格自适应拉伸(均分表格),表格可以随着窗口的变大而变大
 ui.tableWidget->horizontalHeader()->setSectionResizeMode(
    QHeaderView::Stretch);
 ui.tableWidget->verticalHeader()->setSectionResizeMode(
    QHeaderView::Stretch);
8 设置表格的字体颜色和背景颜色
newItem = QTableWidgetItem("测试")  
newItem.setBackgroundColor(QColor(0,60,10))  
newItem.setTextColor(QColor(200,111,100))          
self.MyTable.setItem(0, 0, newItem)
9.表格框线样式表
QTableWidget::item{border-bottom:1px solid #f0f0f0;}
border:2px solid red; //四边都设置
border-bottom:2px dashed red;//仅设置底部边框
border-left:1px dot red;//仅设置左侧边框

在这里插入图片描述

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐