Qt 是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。
Qt Widgets模块提供了一组UI元素来创建经典桌面样式的用户界面。
点击获取Qt Widget组件下载(Q技术交流:166830288)
什么是小部件(Widgets)?
Widgets是在Qt 中创建用户界面的主要元素,Widgets可以显示数据和状态信息,接收用户输入,并为其他应该分组在一起的Widget提供一个容器,没有嵌入父小部件的小部件称为窗口。
QWidget类提供了向屏幕呈现和处理用户输入事件的基本功能,Qt提供的所有UI元素要么是QWidget的子类,要么是与QWidget子类连接使用的。创建自定义小部件是通过创建QWidget或合适的子类并重新实现虚拟事件处理程序来完成的。
样式
样式代表小部件进行绘制,并封装GUI的外观。Qt的内置小部件使用QStyle类来执行几乎所有的绘图,确保它们看起来完全像等效的原生小部件。
Qt Style Sheets是一种强大的机制,它允许开发者自定义小部件的外观,此外还可以通过子类化QStyle实现。
布局
布局是一种优雅而灵活的方式,可以在其容器内自动排列子部件。每个Widgets(小部件)通过sizeHint和sizePolicy属性向布局报告其大小需求,然后布局相应地分配可用空间。
Qt Designer是一个强大的工具,用于交互式地创建和安排布局中的小部件。
模型/视图类
模型/视图体系结构提供了管理数据呈现给用户的方式的类,使用列表和表的数据驱动应用程序的结构是使用模型、视图和委托来分离数据和视图。
图形视图
Graphics View(图形视图)框架用于管理和交互大量定制的2D图形项,以及用于可视化这些项的视图小部件,支持缩放和旋转。
使用模块
使用Qt模块的C++ API需要直接或通过其他依赖项链接到模块库,一些构建工具对此有专门的支持,包括CMake和qmake。
用CMake构建
使用find_package()命令在Qt6包中找到所需的模块组件:
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
用qmake构建
要配置模块来使用qmake进行构建,请在项目的.pro文件中将模块作为Qt变量的值添加:
QT += widgets