Qt Tableview样式表设置

### > ```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); //<-----双色显示

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值