The Qt Widgets 模块 提供了一套创建经典桌面风格用户界面的 UI 元素。请参阅 用户界面 概述,了解使用小部件的更多信息。
Widgets 是在 Qt 中创建用户界面的首要元素。 小部件 可以显示数据和状态信息,接收用户输入,及为应被分组在一起的其它 Widget 提供容器。未嵌入到父级 Widget 中的 Widget,称为 window .
The QWidget 类提供渲染到屏幕和处理用户输入事件的基本能力。Qt 提供的所有 UI 元素是子类化的 QWidget 或用于连接 QWidget 子类。要创建自定义小部件,子类 QWidget 或合适子类并重实现虚拟事件处理程序。
样式 代表 Widget 绘制,并封装 GUI 的外观和感觉。Qt 的内置 Widget 使用 QStyle 类来履行其几乎所有绘制,确保看起来准确像等效本机 Widget。
Qt 样式表 是允许定制 Widget 外观的强大机制,除了已经可能通过子类化 QStyle .
布局 是在容器中自动排列子级 Widget 的优雅 灵活方式。每个 Widget 向布局报告其尺寸要求透过 sizeHint and sizePolicy 特性,且布局会相应地分配可用空间。
Qt Designer 是交互创建和在布局中排列 Widget 的强大工具。
The 模型/视图 体系结构提供向用户呈现数据的方式的管理类。使用列表和表格驱动数据的应用程序,被结构化为使用模型、视图及委托分离数据和视图。
The 图形视图框架 用于管理和与大量定制 2D 图形项并与之交互,用于可视化这些项的视图 Widget (支持缩放和旋转)。
使用 Qt 模块的 C++ API 要求直接 (或透过其它依赖) 链接到模块库。几个构建工具对此有专用支持,包括 CMake and qmake .
使用
find_package()
命令定位所需模块组件在
Qt6
包:
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
更多细节,见 构建采用 CMake 概述。
要配置采用 qmake 构建模块,添加模块作为值为
QT
变量在工程的 .pro 文件:
QT += widgets
Qt Widgets 的变化 列出了 Qt 的 Qt 6 系列在模块 API 和功能上所做出的重要改变。
Qt Widget 模块在商业许可下是可用的来自 Qt 公司 。此外,它在自由软件许可下也是可用的: GNU LGPL (次一般公共许可) 第 3 版 ,或 GNU GPL (一般公共许可) 第 2 版 。见 Qt 许可 进一步了解细节。