QTableView表头填满控件,表头对齐

关于QTableView表头美化、对齐的问题

经常操作QTableView,遇到表头无法对齐所在容器的情况,如下图所示:

这里写图片描述

,当表头不能和QTableView控件宽度一致时,及其影响美观。


解决办法

在QTableView里

ui->tableView->horizontalHeader()->setStretchLastSection(true)

可以让最后一列填充整个表头:
效果如下:
这里写图片描述


另外均分填充表头采用

    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

效果如下:
这里写图片描述


程序部分代码参考

设置相关代码如下:

void Widget::Init()
{
    QStringList strHeader;
    strHeader << "name"
              << "age"
              << "sex";

    if(NULL == m_model)
    {
        m_model = new QStandardItemModel();
    }

    //添加表头数据
    m_model->setHorizontalHeaderLabels(strHeader);
    //设置列数
    m_model->setColumnCount(strHeader.size());
    //设置行数
    m_model->setRowCount(2);
    //隐藏列表头
    ui->tableView->verticalHeader()->hide();

    //setModel
    ui->tableView->setModel(m_model);

    //表头qss设置
    QString strHeaderQss;
    strHeaderQss = "QHeaderView::section { background:green; color:white;min-height:3em;}";
    ui->tableView->setStyleSheet(strHeaderQss);

    //表头设置最后一列数据填充整个控件
    ui->tableView->horizontalHeader()->setStretchLastSection(true);

    //表头内容均分填充整个控件
    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
}

工程路径:

https://github.com/lesliefish/Qt/tree/master/UI/QTableView/QTableView
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值