QtDesigner中的Spacers弹簧/间隔器
一:介绍
Spacer(弹簧/间隔器)是一种用于控制布局中控件间距和对齐的特殊组件。它可以通过占据空白空间,动态调整控件的位置,使界面在不同窗口尺寸下保持美观和功能性。
简单来说就是通过填充剩余控件,使其他控件对齐到指定方向(如左对齐、右对齐或居中)。并且其会随着布局策略的调整自动进行缩放,保持控件间距的合理性。
因为之前我们提到在布局中插入控件,其控件大小和位置不能之间进行设置调整,当有了Spacer时,就可以通过弹簧来控制相距的位置了。
二:使用
2.1 水平弹簧(Horizontal Spacer)
其属性也是相对来说比较简单。
sizeType是Spacer的大小策略。
- Fixed:固定大小(需手动设置
Width
或Height
)。 - Minimum:最小大小,可扩展。
- Maximum:最大大小,可收缩。
- Preferred:默认大小,但可伸缩(最常用)。
- MinimumExpanding:最小大小 + 优先扩展。
- Expanding:优先扩展以填充空间。
sizeType就是弹簧的宽高,需要进行设置。
我们可以看见orientation,其中可以选择水平或者垂直,当选择垂直时,你就获得了一个垂直弹簧了。
2.2 垂直弹簧(Vertical Spacer)
垂直弹簧的相关内容与水平弹簧相同,不过多进行赘述。
三:应用
3.1 对齐
由于在一个布局中,无法直接设置控件的对齐方式,此时就可以通过弹簧。
如果想要控件居中对齐,那就可以在控件的左右两端都加上相同的弹簧,来保持控件的居中。同样想保持左对齐,就在控件的右边加上弹簧。
3.2 保持控件间距
可以通过在两个控件中插入弹簧,并且将弹簧的大小策略设置为Fixed,就可以完成间距保持了。
注意:优先使用布局的拉伸因子,过多的Spacer会导致逻辑混乱。