#### 布局管理 (Layouts)
布局管理是指在应用程序界面中组织和排列控件的方式。Qt 提供了多种布局管理器来帮助开发者实现灵活和美观的界面。
1. **Vertical Layout**: 垂直布局,将控件从上到下依次排列。
2. **Horizontal Layout**: 水平布局,将控件从左到右依次排列。
3. **Grid Layout**: 网格布局,将控件放置在一个二维的网格中。
4. **Form Layout**: 表单布局,通常用于创建表单,其中标签和控件成对出现。
#### 容器 (Containers)
容器是用于包含和组织多个子控件的组件。常见的容器类型包括:
1. **Group Box**: 组框,用于将相关的控件组合在一起,并且可以有一个标题。
2. **Scroll Area**: 滚动区域,用于显示内容较多时提供滚动功能。
3. **Tool Box**: 工具箱,包含多个可切换的选项卡,每个选项卡可以包含不同的控件。
4. **Tab Widget**: 标签小部件,类似于工具箱,但更常用于选项卡式的界面。
5. **Stacked Widget**: 堆叠部件,允许在同一区域内显示多个控件,但一次只显示一个。
6. **Frame**: 帧,用于为控件提供一个视觉边框。
7. **Widget**: 小部件,基本的界面元素,所有其他控件的基类。
8. **MDI Area**: MDI 区域,用于创建多文档界面,允许在一个父窗口内打开多个子窗口。
9. **Dock Widget**: 停靠窗体部件,可以停靠在主窗口的边缘,并且可以拖动和浮动。
10. **QAxWidget**: 封装 ActiveX 控件,用于在 Qt 应用中嵌入 ActiveX 控件,如 Flash。
#### QWidget 类
`QWidget` 是 Qt 中所有 GUI 界面类的基类。每个 GUI 组件(如按钮、标签或文本编辑器)都是一个 `QWidget`,可以放置在现有的用户界面中或者作为独立的窗口显示。
- **事件处理**: `QWidget` 接收鼠标、键盘及其他窗口事件,并在显示器上绘制自己。
- **构造函数**: `QWidget(QWidget *parent = 0, Qt::WindowFlags f = 0)`
- `parent` 参数指定窗口部件的父窗口部件。如果 `parent` 为 `0`(默认值),则新建的窗口部件将是一个独立窗口;否则,新建的窗口部件是 `parent` 的子窗口部件。
- `f` 参数指定新窗口部件的窗口标识(默认值是 `0`,即 `Qt::Widget`)。
窗口标识和父窗口部件共同决定了窗口部件的类型和外观。没有父窗口部件的 `QWidget` 对象是一个独立窗口,通常具有窗口边框和标题栏。常见的窗口类型包括 `QMainWindow` 和 `QDialog` 子类。子窗口部件通常处在父窗口部件的内部,没有窗口边框和标题栏。
希望这些解释能帮助你更好地理解 Qt 的基础知识。