QHBoxLayout Spacing
QHBoxLayout Spacing
本文关键字:Spacing QHBoxLayout 更新时间:2023-10-16
我有一个QHBoxLayout
,它包括两个QLabel
小部件。我的左侧QLabel
比右侧QLabel
大得多,但是,QHBoxLayout
将输出一分为二,因此布局的左侧太小,布局的右侧太大。如何修改QHBoxLayout
以为每个包含的小部件创建不等比例的空间?
布局系统应该为较大的标签保留更多的空间,如果需要的话,如果有可用的空间。
如果要强制布局为较大的标签保留特定的空间,可以使用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);
您可以在此处查看不同大小的策略的作用。