Qt Widgets

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

小部件

小部件是 Qt 中创建用户界面的主要元素。小部件可以显示数据和状态信息、接收用户输入,以及为其他应分组的 widget 提供容器。没有嵌入到父 widget 中的 widget 称为窗口

A parent widget containing various child widgets.

QWidget 类提供了对屏幕进行渲染和处理用户输入事件的基类。Qt 提供的所有 UI 元素要么是 QWidget 的子类,要么用于与 QWidget 的子类一起使用。要创建自定义小部件,请派生 QWidget 或合适的子类,并重新实现虚拟事件处理程序。

风格

风格代表小部件进行绘制并封装了 GUI 的外观和感觉。Qt 的内置小部件使用 QStyle 类执行几乎所有绘制任务,确保它们看起来与等效的本地小部件完全相同。

Qt 风格表 是一种强大的机制,除了通过派生 QStyle 实现的打描之外,它允许你自定义小部件的外观。

布局

布局 是一种优雅且灵活的方式,用于自动在其容器内排列子小部件。每个小部件通过 sizeHintsizePolicy 属性将其大小需求报告给布局,布局相应地分配可用空间。

Qt Designer 是一种强大的工具,可以用于交互式地创建和排列布局中的小部件。

模型/视图类

模型/视图架构提供了一种类,用于管理将数据呈现给用户的方式。使用列表和表格的数据驱动应用程序被结构化为使用模型、视图和代理来分割数据和视图。

图形视图

图形视图框架用于管理和交互大量定制 2D 图形项,并为项目提供了一个可視化的视图小部件,支持缩放和旋转。

使用模块

使用 Qt 模块的 C++ API 需要链接到模块库,无论是直接链接还是通过其他依赖。包括 CMake 和 qmake 在内的一些构建工具为此提供了专属支持。

使用 CMake 构建

使用 find_package() 命令在 Qt6 软件包中查找所需模块组件。

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

有关更多详细信息,请参阅 使用 CMake 构建 概述。

使用 qmake 构建

若要为使用 qmake 构建配置模块,请将模块添加到项目 .pro 文件中 QT 变量的值中。

QT += widgets

文章和指南

示例

API 参考

模块演进

Qt 小部件变更 列出了为 Qt 6 系列Qt 实现的模块 API 和功能中的重要变更。

许可证

Qt 小部件模块可在 Qt 公司 的商业许可下使用。此外,它还可在免费软件许可下使用:GNU 软件基金会发布的 GNU Lesser General Public License 版本 3,或 GNU General Public License 版本 2。有关更多信息,请参阅 Qt 许可

© 2024 Qt 公司有限公司。本文件中包含的文档贡献的版权属于其各自的所有者。本文件中提供的文档受 GNU 自由文档许可证版本 1.3 的条款约束,由自由软件基金会发布。Qt 和相应标志是芬兰的 Qt 公司及其全球子公司和合营企业的商标。所有其他商标均为其各自所有者的财产。