QT表格的宽度自适应调整方法void setStretchLastSection ( bool stretch );

QT---设置tablewidget自适应列宽和设置自动等宽 在网上很容易知道自适应列宽,100%不留空显示,这里还是提下:/*设置表格是否充满,即行末不留空*/ ui->tableWidget->horizontalHeader()->setStretchLastSection(true);  设置了100%不留空后的效果:   在QT5之前,只要通过下面的程序就可以实现自动等宽:/*QT5版本之前设置自动等宽*/ ui->tableWidget->h 阅读详情
QTableWidget继承有QHeaderView,而QHeaderView有一个方法void setStretchLastSection ( bool stretch );
它的形参为bool 型,可以用来设置是否充满宽度。
下面是一个例子:
#include <QtGui/QApplication>#include <QtGui/QTableWidget>
#include <QtGui/QHeaderView>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QTableWidget *table = new QTableWidget();
table->setColumnCount(3);
table->setRowCount(5);
table->horizontalHeader()->setStretchLastSection(true); //就是这个地方
table->show();
return app.exec();

}


是能自动完成列头的自动填充,但是有一个缺点:列头中空余的其余部分都是用最后一列来填充的,这样造成的问题就是最后一列很宽,严重影响美观。

万幸,各位看官,注意了,我用了个万幸。为什么捏?因为就在楼主的楼里,我看到12楼里有个人说

/*****************************************************

ui->tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);

这样就可以了

*******************************************************/

我尝试了下,果然可以完成填充并使列平均分。


QTableWidget高级使用总结 常用设置/接口/API //使行列头自适应宽度,最后一列将会填充空白部分,也可以实现充满窗体 table->horizontalHeader()->setStretchLastSection(true); //使行列头自适应宽度,所有列平均分来填充空白部分 table->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); //使行自适应高度,假如行很多的话,行的高度不会一直减小,当达到一定值时会自动生成一个Q 阅读详情

相关推荐

Qt | 布局部件拉伸(Stretch)原理及大小策略

部件的大小策略sizePolicy、大小限制、拉伸因子(Stretch Factors)

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 1382

Qt布局管理--部件拉伸(Stretch)原理及大小策略(sizePolicy)

Qt布局管理(1):部件拉伸(Stretch)原理及大小策略(sizePolicy) 本文为原创文章,转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇) 本文出自本人原创著作《Qt5.10 GUI完全参考手册》网盘地址: https://pan.baidu.com/s/1iqa...

yq327115059的博客 1万+

QTreeView第一列自适应

通过setStretchLastSection(bool stretch)可以设置最后一列自适应,对于QTreeView,stretch默认为true。但有时候我们需要设置第一列自适应,比如文件浏览器,共有名称、大小和修改日期三列,大小和日期的宽度几乎是固定的,但名称却可长可短,此时我们希望在窗口大小变化时,第一列的宽度能自动缩放,第二列和第三列的宽度保存不变,而且要支持鼠标拖动调整列宽。

草上爬的博客 1951

一文读懂qt界面设计(分裂器,布局,拉伸,各种属性设置)

现在我们来正式开始讲解。 qt中能称为布局的有如下6个: 水平布局(QHBoxLayout) 垂直布局(QVBoxLayout) 表单布局(QFormLayout):其实就是只有两列的网格布局而已。 网格布局(QGridLayout):类似一个表格,多行多列,能自动对齐,挺好用的。 栈布局(QStackLayout):设计师界面无法直接产生出来,需要用代码创建出来 分裂器布局(QSplitter,可以设置为水平的 或者 垂直的):分裂器是用于两个窗口的分割拖拽的,很有用的。

biao2488890051的博客 1万+

QT 实现tablewidget表格自适应宽度和自动等宽

QT实现tablewidget表格自适应宽度和自动等宽。

qq_45622250的博客 3426

QT ui界面的自适应大小布局及相关参数说明

当然有些控件不能无限缩小,不然没法看,这时就可以设置这些控件的最小宽高,也是在右侧属性栏里找。layoutStretch-控件大小比例,上面的例子采用的是一个水平的栅格布局。layoutLeftMargin-控件到栅格左边框的距离。top、right、bottom分别表示上、右、下边距。3、然后设置所有控件的sizepolicy为expending(在右边的属性栏里找)例如主界面是widget,在ui里右键Widget,在布局里选一个栅格的布局。2、里面所有的控件全放到栅格布局里面。

weixin_48116907的博客 1691

QT表格宽度自适应调整方法void setStretchLastSection ( bool stretch ) 转帖

QTableWidget继承有QHeaderView,而QHeaderView有一个方法void setStretchLastSection( bool stretch );它的形参为bool型,可以用来设置是否充满宽度。下面是一个例子:#include <QtGui/QApplication>#include <QtGui/QTableWidget>#inc...

weixin_30814329的博客 373

qt之tablewidget设置自定义宽度自适应宽度

设置列固定宽度 设置第一列为固定宽度 ui->tableWidget->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Fixed); ui->tableWidget->setColumnWidth(1, 80); 设置第一列为自动宽度 ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch

weixin_46338291的博客 1万+

QT布局—基于Layout和QWidget的代码创建QT自适应布局(Size Policy和Stretch

Qt中,“layout”(布局)和"widget"(窗口部件)是两个相关但不同的概念。QWidget本身可以作为一个容器来容纳其他控件,而布局管理器则可以在这些容器中安排控件的位置。大小策略和stretch属性在Qt中都是非常有用的布局管理工具,可以帮助开发者精确地控制界面元素在布局中的大小和分布。大小策略主要用于定义控件自身的最小和最大尺寸行为,而stretch属性则用于在布局管理器中定义控件相对于其他控件的拉伸优先级,以实现动态的布局调整和分配。

sinat_30491515的博客 5672

QTableView填充表格(函数:setSectionResizeMode()和setStretchLastSection())

1.1函数函数:setSectionResizeMode(),表示均匀拉直表头。示例用法如下: tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); 1.2函数setStretchLastSection()表示将最后一列填充满表格。用法示例如下: tableView->...

净无邪博客 2万+

QT学习 - QTableWidget 的使用

转自:QTableWidget的使用方式 //QTableWidget行选中/删除/添加行 //1 均分各列 tableWidget-&gt;horizontalHeader()-&gt;setStretchLastSection(true); //就是这个地方 tableWidget-&gt;horizontalHeader()-&gt;setResizeMode(QHeaderVie...

guo_lei_lamant的博客 1059

Qt 布局设置stretch,不起作用解决方法

addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = Qt::Alignment()) insertStretch(int index, int stretch = 0) setStretchFactor(QWidget *widget, int stretch) 等函数都可以设置布局中,组件的不同伸缩大小...

jiaojinlin的博客 1万+

qt的layoutStretch,非常重要

在几个控件横着布局中,不要指望着这些限制大小的接口能帮你什么。我这里有两个控件,设置layoutStretch 1,1。

sunflower_2020的博客 974

【免费下载】 QT - QTableView表格视图的列宽设置

本文档提供了一个关于如何在QT中设置QTableView表格视图列宽的方法。通过恰当的设置表格的列宽,可以显著提升表格的美观性和用户体验。 ## 方法一:使用setSectionResizeMode()方法 一种简单且有效的方法是调用表头的`setSectionResizeMode()`方法来设置列宽。以下是示例代码: ```cpp // 设置列宽调整模式 tableView->horizo...

gitblog_06670的博客 567

qt-C++语法笔记之Stretch与Spacer的关系分析

Stretch是代码中控制布局比例的工具,适合动态、精确的布局管理。是 Qt Designer 中的可视化工具,适合快速设计和直观调整。两者在功能上可以互换(通过或sizePolicy实现),但使用场景不同:代码中用stretch,设计器中用 spacer。结合使用可以提高开发效率和布局灵活性。

小勇博客 1414

PyQt(Python+Qt)学习随笔:QTableView的标题表头相关属性

一、概述 在Qt Designer中,对于表视图QTableView,在属性在下面有专门一栏列出了跟标题相关的属性,如图: 这些属性并不是QTableView的直接属性,而是QTableView的horizontalHeader和verticalHeader两个属性的子属性。 二、horizontalHeader和verticalHeader horizontalHeader和verticalH...

老猿Python 8881

Qt研发易忽略问题整理(一)

目的: 整理Qt在研发过程中易忽略的问题。 1.std::map 与QMap再插入重复键时 前者会忽略插入的值,后者会更新值。 QMapintmap; intmap[10]=“10”,会插入键值(10,10) 2. QTreeWidget中有一个invisibleRootItem其子节点是顶级的topLevelItem 3.数字与字符转换 QStringLiteral(“XXX%1”).arg(a...

liunanya的博客 948
上一篇: Qt学习之路(45): 自定义model之一
下一篇: QTableView怎么才能不显示行号和列头
Maybe______
博客等级 码龄10年 25粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值