Qt Widgets

Qt Widgets 模块 提供了一套创建经典桌面风格用户界面的 UI 元素。请参阅 用户界面 概述,了解使用小部件的更多信息。

Widgets

Widgets 是在 Qt 中创建用户界面的首要元素。 Widgets 可以显示数据和状态信息,接收用户输入,及为应被分组在一起的其它 Widget 提供容器。未嵌入到父级 Widget 中的 Widget,称为 window .

A parent widget containing various child widgets.

QWidget 类提供渲染到屏幕及处理用户输入事件的基本功能。Qt 提供的所有 UI 元素是子类化的 QWidget ,或被用于连接 QWidget 子类。创建自定义 Widget 的完成,是通过子类化 QWidget 或适当子类并重实现虚拟事件处理程序。

样式

样式 代表 Widget 绘制,并封装 GUI 的外观和感觉。Qt 的内置 Widget 使用 QStyle 类来履行其几乎所有绘制,确保看起来准确像等效本机 Widget。

Qt 样式表 是允许定制 Widget 外观的强大机制,除了可能已有的,通过子类化 QStyle .

布局

布局 是在容器中自动排列子级 Widget 的优雅 灵活方式。每个 Widget 向布局报告其尺寸要求透过 sizeHint and sizePolicy 特性,且布局会相应地分配可用空间。

Qt Designer 是交互创建和在布局中排列 Widget 的强大工具。

模型/视图类

模型/视图 体系结构提供向用户呈现数据的方式的管理类。使用列表和表格驱动数据的应用程序,被结构化为使用模型、视图及委托分离数据和视图。

图形视图

图形视图框架 用于管理和与大量定制 2D 图形项并与之交互,用于可视化这些项的视图 Widget (支持缩放和旋转)。

使用模块

使用 Qt 模块要求直接或透过其它依赖链接到模块库。一些构建工具为此有贡献支持,包括 CMake and qmake .

构建采用 CMake

使用 find_package() 命令去定位所需模块组件,在 Qt6 包:

find_package(Qt6 COMPONENTS Widgets REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
							

另请参阅 构建采用 CMake 概述。

采用 qmake 构建

要配置采用 qmake 构建模块,添加模块作为值为 QT 变量在工程 .pro 文件:


							

模块演变

Qt Widgets 的变化 列出了 Qt 的 Qt 6 系列在模块 API 和功能方面所做出的重要改变。

许可

Qt Widget 模块在商业许可下是可用的来自 Qt 公司 。此外,它在自由软件许可下也是可用的: GNU LGPL (次一般公共许可) 第 3 版 ,或 GNU GPL (一般公共许可) 第 2 版 。见 Qt 许可 进一步了解细节。

教程

范例

API 参考

这些是 API 参考材料链接。