QSplitter 中设置QWidgets初始比例

在Qt4.8.7中使用QSplitter实现可拖拽调节的布局时,初始比例设置可能遇到问题。QSplitter的setStretchFactor方法并不总是有效。正确的解决方案是使用setSizes(const QList<int> &sizes)函数,通过指定List中每个Widget的高度或宽度值,来设定初始比例。例如,设置list为[1000, 2000, 3000],即使实际分配的高度有限,Widgets也会按照1:2:3的比例显示。" 121539777,7299338,解决[RMI TCP Connection]-Apache Tomcat报错问题,"['apache', 'tomcat', 'jdbc', 'jar', 'IDEA']
摘要由CSDN通过智能技术生成

QSplitter 中设置QWidgets初始比例

Qt4.8.7

本文档基于Qt4编写,Qt5中是否成立未测试。
工作过程中需要使用可拖拽调节的布局。因为接触Qt不久,网上查了很多资料才找到QSplitter类。但发现初始比例总不是按照自己设置的显示。尝试:

void	setStretchFactor ( int index, int stretch )

偶尔正确显示,大部分情况错误比例,而且使用此函数设置后,QWidget在hide() show()之后比例失调。根据网上教程,尝试:

void	QWidget::setSizePolicy ( QSizePolicy )

说实话,网上很多setStretchFactor ( int index, int stretch ) 失效的帖子都转载的这个办法。但我尝试之后还是失败了,设置之后根本没反应。(因为刚入门不久,对Qt的一些逻辑的理解确实不到位,也希望大神指点)。
最终,通过查阅QSplitter的函数说明,使用

 void	setSizes ( const QList<int> & list )

达到目的。
下面把设置过程写下,给广大新手参考。

QSplitter

Inherits: QFrame.

 #include <QSplitter>
 #include <QList>

涉及的成员函数

  1. void
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值