运行效果如下

下面直接上代码,完全可以直接拷贝用:

 QString qssTV = "QTableWidget::item:hover{background-color:rgb(92,188,227,200)}"
                    "QTableWidget::item:selected{background-color:#1B89A1}"
                    "QHeaderView::section,QTableCornerButton:section{ \
            padding:3px; margin:0px; color:#DCDCDC;  border:1px solid #242424; \
    border-left-width:0px; border-right-width:1px; border-top-width:0px; border-bottom-width:1px; \
background:qlineargradient(spread:pad,x1:0,y1:0,x2:0,y2:1,stop:0 #646464,stop:1 #525252); }"
"QTableWidget{background-color:white;border:none;}";
//ui->tableWidget->setShowGrid(true); //设置显示格子线
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //整行选中的方式
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //禁止编辑
ui->tableWidget->horizontalHeader()->setStretchLastSection(true); //行头自适应表格
ui->tableWidget->horizontalHeader()->setFont(QFont("song", 12));
//点击表时不对表头行光亮(获取焦点)
ui->tableWidget->horizontalHeader()->setHighlightSections(false);
//设置表头字体加粗
QFont font =  ui->tableWidget->horizontalHeader()->font();
font.setBold(true);
ui->tableWidget->horizontalHeader()->setFont(font);
//ui->tableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background:lightblue;}"); //skyblue设置表头背景色
//ui->tableWidget->setStyleSheet("selection-background-color:lightblue;"); //设置选中背景色
ui->tableWidget->setStyleSheet(qssTV);
ui->tableWidget->horizontalHeader()->setHighlightSections(false);         //点击表头时不对表头光亮
ui->tableWidget->setSelectionMode(QAbstractItemView::ContiguousSelection);//选中模式为多行选中
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
//所有单元格的字体  设置成一样
ui->tableWidget->setFont(QFont("song", 12)); 
ui->tableWidget->setRowCount(1); //设置行数
ui->tableWidget->setColumnCount(8); //设置列数
ui->tableWidget->setWindowTitle("TABLE演示");
QStringList header;
header<<"序号"<<"名称"<<"设备ID"<<"设备IP"<<"设备端口"<<"型号"<<"厂家"<<"备注";
ui->tableWidget->setHorizontalHeaderLabels(header);
//去掉默认行号 可以用horizontalHeader() ->setVisible(false)隐藏横向表头
QHeaderView *header1 =   ui->tableWidget->verticalHeader();
header1->setHidden(true);
//设置单元格大小
ui->tableWidget->horizontalHeader()->setDefaultSectionSize(50);  //设置默认宽度
ui->tableWidget->verticalHeader()->setDefaultSectionSize(30);   //设置一行默认高度
ui->tableWidget->setColumnWidth(1,110);
ui->tableWidget->setColumnWidth(2,110);
ui->tableWidget->setColumnWidth(4,180);
ui->tableWidget->setColumnWidth(5,110);
ui->tableWidget->setColumnWidth(6,80);
ui->tableWidget->setColumnWidth(7,80);
ui->tableWidget->setSortingEnabled(true);  //启动排序
for (int crowCount = 0; crowCount < 20; ++crowCount)
    //插入数据
    QTableWidgetItem *check=new QTableWidgetItem(QString::number(crowCount)); 
    check->setCheckState(Qt::Unchecked);  //是否设置选中框
    ui->tableWidget->insertRow(crowCount);
    check->setText(QString::number(crowCount));  //显示序号
    ui->tableWidget->setItem(crowCount,0,check); //插入复选框
    for(int j=1; j<8; j++ )
        ui->tableWidget->setItem(crowCount,j,new QTableWidgetItem(QString::number(j)));

单元格单独设置字体方法:

                QTableWidgetItem *item = new QTableWidgetItem;

                item->setText(strDev);

                item->setFont(QFont("song", 14));

                ui->tableWidget->setItem(crowCount,j,item);

原文链接:https://blog.csdn.net/ydyuse/article/details/105155286 如下是对tabwidget表头设置。background-color是对表头背景颜色设置。font是对字体大小字体颜色,字体格式设置。 ui.tableWidget_grid->horizontalHeader()->setStyleSheet("QHeaderView::section{background-color:rgb(40,143,218);font:13pt '宋体';col /Item不能编辑。水平滚动条的滑动块悬浮:QScrollBar::handle:vertical:horizontal。垂直滚动条的滑动块悬浮:QScrollBar::handle:vertical:hover。选中的表格:QTableWidget::item::selected。//显示/隐藏网格线。 /行自适应宽度 tableWidget->verticalHeader()->setResizeMode(QHeaderView::Stretch);value常用参数:NoEditTriggers--不能对表格内容进行修改CurrentChanged--任何时候都能对单元格修改DoubleClicked--双击单元格SelectedClicked--单击已选中的内容 AnyKeyPressed--按下任意键就能修改。 QTableWidget 设置表头颜色 setStyleSheet( "QHeaderView::section {background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #00007f, stop: 0.5 #00007f,stop: 0.6 #00007f, stop:1 #00007f);color: white;}"); setStyleSheet( "QTableWidget{ color:black 问题描述: 项目中用到QTableWidget 表格,想设置表格的表头颜色为蓝色,各行的颜色交替显示。奈何谷歌良久,都无法设置成功。其实最后发现,设置不成功的原因主要有两个方面: 其一,他人博文中提供的方法本来有误; 其二,因为设置表头颜色的代码是没有代码提示的,自己照着写的时候敲错了代码。 解决办法: 直接上代码: //记录六个字符串到字符串列表 QStringList ... 有些博客上写的是调用QTableWidgetItem的setTextColor方法,但是实际开发却找不到该方法,可能是版本问题 代码示例: item = QTableWidgetItem("登录成功") item.setForeground(QBrush(Qt.green))#设置字体颜色为绿色 ui.tableWidget.setItem(0, 1, item) QHeaderView                  // QTableWidget 标题头整个区域     background:transparent;        // 整个标题头区域背景色 }QHeaderView::section           // 标题头 每个单独的标题区域     font-size:14px;                // 每个标题的...