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

本文介绍如何使用QWidget的addWidget、insertStretch和setStretchFactor等函数调整布局中组件的伸缩大小,实现不同控件在布局中的比例分配。并通过一个水平布局的例子,展示了按钮在水平方向上的宽度比例为1:2的设置方法。同时指出,当控件的实际展示效果与预期不符时,可能是因为控件的sizePolicy设置不当,通过调整sizePolicy可以达到期望的布局效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = Qt::Alignment())

insertStretch(int index, int stretch = 0)

setStretchFactor(QWidget *widget, int stretch)

等函数都可以设置布局中,组件的不同伸缩大小。

QHboxLayout *layout= new QHboxLayout;
layout->addWidget(btn_one,1);
layout->addWidget(btn_two,2);

这是一个水平布局,按钮1和按钮2应该占据水平方向的大小,比例是1:2的宽度。

然而有的时候,设置伸缩大小并不一定按照,你的设置展示不是你想要的效果。这个时候,就可以查看是否是控件的sizePolicy,阻碍了效果展示,可以修改响应的sizePolicy,实现想要的效果

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值