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