目录
界面布局
- Qt 提供了两种组件定位机制:绝对定位和布局定位。
- 绝对定位就是一种最原始的定位方法:给出这个组件的坐标和长宽值。
- 这样,Qt 就知道该把组件放在哪里以及如何设置组件的大小。但是这样做带来的一个问题是,如果用户改变了窗口大小,比如点击最大化按钮或者使用鼠标拖动窗口边缘,采用绝对定位的组件是不会有任何响应的。这也很自然,因为你并没有告诉 Qt,在窗口变化时,组件是否要更新自己以及如何更新。或者,还有更简单的方法:禁止用户改变窗口大小。但这总不是长远之计。
- 布局定位:你只要把组件放入某一种布局,布局由专门的布局管理器进行管理。当需要调整大小或者位置的时候,Qt 使用对应的布局管理器进行调整。
- 布局定位完美的解决了使用绝对定位的缺陷。
- Qt 提供的布局中以下三种是我们最常用的:
- QHBoxLayout:按照水平方向从左到右布局;
- QVBoxLayout:按照竖直方向从上到下布局;
- QGridLayout:在一个网格中进行布局,类似于 HTML 的 table;
Label
- 直接双击进行更改,或者在QLable属性栏进行更改
Line Edit
Push Button
系统提供的布局控件
- 这4个为系统给我们提供的布局的控件,但是使用起来不是非常的灵活,这里就不详细介绍了。
利用widget做布局
- 拖出一个widget,让后将想要布局的控件拖进去,然后选中此widget,使用qt提供的水平或者垂直布局
- 观察右侧的对象与类,没有布局的容器有红色标志,将整体进行布局
Spacers进行调整(在容器布局后使用)
- 设置spacer为固定大小,选中spacer进行设置
打破布局
- 选中要打破布局的容器:
- 右键,选择打破布局,或者直接点击打破布局的按钮
- 对于几行几列需要对齐的,可以放在一个widget中,然后使用栅格布局
- 选中整体进行垂直布局,然后再使用spacer进行调整
修改sizepolicy
- 外部容器的大小比控件所占空间大很多,进行调整,选择容器,然后在属性栏中进行修改sizepolicy
设置窗口标题
设置spacer与容器之间的距离
- 选中该容器,进行Layout属性设置
设置密码输入模式
设置窗口固定大小
- 选择容器,进行属性设置