【Qt系列】QtableWidget表格列宽自适应表格大小

在这里插入图片描述
在groupBox中添加了一个QtableWidget,即表格组件。这个表格只有5列,只占据了表格的一部分,不是很好看。

核心代码如下,最重要的是最后一句,让标题栏自适应大小。

        QTableWidget *taskListTable = new QTableWidget(20,5);     //任务列表
        taskListTable->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
        taskListBoxLayout->addWidget(taskListTable);
            //**表格标题
            QStringList headTable = {"任务编号","起点","终点","需求时刻","载重量"};
            taskListTable->setHorizontalHeaderLabels(headTable);
            QFont font("song", 12, QFont::Bold);
            taskListTable->horizontalHeader()->setFont(font);       //设置字体
            taskListTable->verticalHeader()->setHidden(true);       //隐藏行标题
            taskListTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

在这里插入图片描述

taskListTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

接下来解释一下这个函数,horizontalHeader返回的是表格的垂直行标题,也就是第一行标题栏。这是个特殊的类,叫QHeaderView类。对标题栏进行调整,往往就是对这个类进行调整。
在这里插入图片描述
setSectionResizeMode函数是上述类的一个函数,设置标题如何调整为给定模式所描述的大小。
在这里插入图片描述
QHeaderView::ResizeMode就是模式的枚举量,主要就是调整标题栏大小,即列宽。存在以下的取值:

模式值描述
QHeaderView::Interactive用户可以手动调节列宽,也可以通过调用resizeSection函数调整。
QHeaderView::Fixed用户无法手动调整列宽,只能调用resizeSection函数调整。
QHeaderView::Stretch列宽会自动调节以填充可用空间。大小不能由用户更改或以编程的方式更改。
QHeaderView::ResizeToContents列宽会自动根据内容调整为最佳大小。大小不能由用户更改或以编程的方式更改。
  • 7
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值