Qt中的布局浅析与弹簧的使用,以及Qt居中的两种方法

时间:2024-02-01 09:45:12

1. 布局

为什么要布局:

  1. 布局之后窗口的排列是有序的
  2. 布局之后窗口的大小发生变化, 控件的大小也会对应变化
  3. 如果不对控件布局, 窗口显示出来之后有些控件的看不到的

布局是可以嵌套使用

常用的布局方式:

  • 水平布局 -> 所有的控件水平排列 -> 一行多列
  • 垂直布局 -> 所有控件垂直排列 -> 多行一列
  • 网格(栅格)布局 -> 多行多列

在Qt中设置布局的两种方式

  • 使用Qt提供的布局
    在这里插入图片描述
    在这里插入图片描述
  • 使用QWidget进行布局 -> 推荐
  1. 首先需要从工具栏中拖拽一个QWidget窗口

  2. 将要布局的控件放到这个QWidget中

  3. 对这个QWidget进行布局

比如我先放一个widget到ui中(我把主题换成了黑色,所以可能有些看不太清)
在这里插入图片描述
然后我放两个按钮到里面
在这里插入图片描述
看得出来,我是随意放在里面的
现在我们选中widget,看上面的Layouts
在这里插入图片描述

选择水平布局,就是上面图片的第一个,第二个是垂直布局
在这里插入图片描述
然后现在他们就排列成水平的了

2. 弹簧

我现在有一个水平布局的widget,但是我觉得角色离服务端和客户端太远了,想拉进一点,怎么办呢?
在这里插入图片描述
答案就是用弹簧
这是加一根弹簧的效果
在这里插入图片描述
然后再加一根
在这里插入图片描述
你会发现确实拉近了角色,而且因为是弹簧,所以会随着你的窗口而变化,非常方便。

3. 设置居中的两种方法(1.属性,2.弹簧)

3.1 方法一,属性

这是标签Label居中后的效果,怎么实现的呢?
在这里插入图片描述
答案是在右下角的属性中
在这里插入图片描述
将水平方向的属性值改为AlignHCenter

3.2 方法二,弹簧

加两根弹簧也能够解决问题
注意是水平方向的弹簧,下面这个
在这里插入图片描述
下面插入两根弹簧

用弹簧的时候记得将标签放入widget中,widget设置成水平布局,效果如下图
在这里插入图片描述