QHBoxLayout 间距
Posted
技术标签:
【中文标题】QHBoxLayout 间距【英文标题】:QHBoxLayout Spacing 【发布时间】:2014-05-01 20:30:12 【问题描述】:我有一个 QHBoxLayout
,其中包括两个 QLabel
小部件。我左边的QLabel
比右边的QLabel
大得多,但是QHBoxLayout
将输出分成两半,所以布局的左侧太小而右侧的布局太大。如何修改QHBoxLayout
为每个包含的小部件创建不等比例的空间?
【问题讨论】:
【参考方案1】:如果需要,并且有可用空间,布局系统应该为较大的标签保留更多空间。
如果您想强制布局为较大的标签保留特定数量的空间,您可以使用QBoxLayout::setStretch
。
例如,如果您想为较大的标签保留 70% 的空间,为较小的标签保留 30% 的空间,您可以这样使用:
ui->horizontalLayout->setStretch(0, 7);
ui->horizontalLayout->setStretch(1, 3);
或者,您可以让较小的标签只保留它需要的绝对最小空间,而较大的标签通过使用大小策略来保留尽可能多的空间。
对于较小的标签,将水平尺寸政策设置为QSizePolicy::Maximum
,对于较大的标签,将水平尺寸政策设置为QSizePolicy::Minimum
(或QSizePolicy::MinimumExpanding
)。
ui->label_Large->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
ui->label_Small->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred);
您可以查看here 的不同尺寸政策。
【讨论】:
以上是关于QHBoxLayout 间距的主要内容,如果未能解决你的问题,请参考以下文章
使用 Grid Layout Manager 等间距的 Android Recycler 视图不起作用
android 使用activity 当dialog弹出框 ,layout出现左右两边有间距