QHBoxLayout 和 QVBoxLayout:
-
QHBoxLayout
:水平布局,将子控件水平排列。
-
QVBoxLayout
:垂直布局,将子控件垂直排列。
QGridLayout:
- 网格布局,允许你在行和列的网格中放置控件,非常适合创建表格形式的界面。
QFormLayout:
- 表单布局,用于创建两列的表单,其中第一列通常是标签(如“用户名:”),第二列是对应的输入控件(如文本框)。
QStackedLayout:
- 堆叠布局,允许你在同一位置堆叠多个控件,但一次只显示一个。这可以用于创建向导式的用户界面或选项卡式界面的替代方案。
QDockWidgetAreaLayout:
- 停靠区域布局,专门用于管理
QDockWidget
的布局,通常与 QMainWindow
一起使用。
QFlowLayout(在 Qt 5.7 及更高版本中可用):
- 流布局,类似于 HTML 中的流布局,控件会按照它们被添加的顺序从左到右、从上到下排列,直到空间不足时会自动换行。
QGroupBox 和 QRadioButton/QCheckBox 配合布局:
- 虽然这不是一个专门的布局类,但使用分组框(
QGroupBox
)和单选按钮(QRadioButton
)或多选按钮(QCheckBox
)可以创建特定的布局效果,用于组织相关的控件。
自定义布局:
- 你还可以通过继承
QLayout
或其子类来创建自定义布局,以满足特定的布局需求。
绝对定位:
- 虽然不推荐使用绝对定位来布局控件,因为它不适应窗口大小的改变,但在某些特定情况下,你可能仍然需要使用绝对位置来放置控件。这可以通过直接设置控件的几何形状或使用布局管理器之外的方法来完成。