Qt 示例与教程
Qt 随附了一系列代码示例和教程,旨在帮助新用户入门 Qt 开发。这些文档涵盖了从控件的基本使用到分步教程的广泛主题,详细展示了如何构建应用程序。
这些示例是 Qt 软件包的一部分。请访问“下载”页面以获取更多信息。
这些示例旨在演示如何使用 Qt 的 API。它们不适用于生产环境,通常省略了正式发布应用程序所需的错误处理、输入验证和安全性强化措施。请参阅Qt 共享安全模型。
运行示例
在Qt Creator Welcome 模式下打开并运行示例。大多数示例可在多种平台上运行;若要查找特定平台的示例,请在搜索框中输入平台名称(或任何关键词)。例如,在搜索框中输入Android ,即可列出与Android完全兼容的示例。
有关运行示例的更多信息,请参阅:
应用程序示例
一款专为横屏和竖屏设备设计的计算器。它使用Qt Quick 自定义组件和响应式布局构建用户界面,并采用JavaScript实现应用逻辑。 | |
一个汽车模型示例,演示了如何使用Qt Quick 3D 摄像头、扩展场景环境以及Qt Quick 3D 。 | |
一个采用基于状态的自定义用户界面的Qt Quick 应用程序。 | |
一个使用Qt Quick 3D 物理引擎和其他Qt模块的掷骰子应用程序。 | |
一个用于显示和打印 JSON、文本及 PDF 文件的控件应用程序。 | |
演示了Qt Quick 3D 的材质和特效功能。此示例演示了如何在Qt Quick 3D 中使用粒子特效和材质。 | |
一个利用自定义Qt Quick Controls 从文件系统显示文本文件的桌面QML应用程序 | |
Getting Started programming with Qt Quick: An Alarm Application | 基于闹钟应用程序的Qt Quick 教程。 |
一款具有响应式用户界面的应用程序,通过结合使用Qt Quick 、Qt Location 、Qt Positioning 和 Qt WebSockets,在地图上实时显示雷击位置。 | |
使用Qt Quick 播放音频和视频。 | |
一款面向触控设备的 QML 应用,该应用使用带有 FolderListModel 的 Repeater 来访问文件夹中的内容,并使用 PinchHandler 来处理对获取内容的双指缩放手势。 | |
演示如何为Qt Design Studio 中的 3D 项目添加 C++ 后端。 | |
由 Kuniaki Moribe 开发的热门益智游戏的 QML 实现版本。 | |
“卫星信息”示例通过“天空视图”、“表格视图”或“RSSI 视图”显示可用的卫星以及用户的当前位置。它使用Qt Positioning 实现,并Qt Quick | |
“恒温器”示例演示了如何根据窗口大小实现不同的界面设计。 | |
一个待办事项列表应用程序的 QML 实现,演示了如何创建在任何平台上都看起来像原生应用的应用程序。 | |
一个 3D 定制示例,演示了如何使用Qt Quick 3D 进行交互式玩具选择和实时外观调整。 | |
使用 WebEngineView QML 类型实现的 Web 浏览器 |
桌面
COM 应用程序示例展示了如何使用 ActiveQt 开发可通过 COM 实现自动化的 Qt 应用程序。各种基于 QObject 的类被作为 COM 对象暴露出来,并与正在运行的 Qt 应用程序的 GUI 进行通信。这些 COM 对象的 API 设计旨在与标准 COM 应用程序(即 Microsoft Office 中的 API)保持一致 | |
在运行时基于Qt Widgets Designer 表单创建用户界面 | |
在应用程序中使用通过Qt Widgets Designer 创建的表单 | |
在应用程序中使用通过Qt Widgets Designer 创建的表单 | |
为Qt Widgets Designer | |
为……创建自定义小部件插件Qt Widgets Designer | |
使用Qt Quick 播放音频和视频。 | |
Qutlook示例演示了如何使用ActiveQt实现Outlook自动化。该示例利用dumpcpp工具为描述Outlook对象模型的类型库生成C++命名空间 | |
将Qt Assistant 用作帮助查看器并对其进行控制 | |
一个简单的示例演示了如何使用 QAxBindable 和 QAxFactory | |
将Qt Assistant 用作应用程序的自定义帮助查看器 | |
系统托盘图标示例展示了如何在桌面环境的系统托盘中添加一个带有菜单和弹出消息的图标 | |
屏幕截图示例演示了如何截取桌面屏幕截图 | |
为Qt Widgets Designer 创建自定义小部件插件,并提供与该插件关联的自定义任务菜单条目 | |
使用 QUiLoader 动态加载 .ui 文件 | |
包装器示例演示了如何将现有的 QWidget 类导出为 ActiveX 控件,以及如何将 QAxFactory 与 QAXFACTORY_EXPORT() 宏结合使用。本示例中的 ActiveX 控件是 Qt 提供的标准按钮类:QPushButton、QCheckBox 和 QRadioButton |
移动端
一款专为横屏和竖屏设备设计的计算器。它使用Qt Quick 自定义组件和响应式布局构建用户界面,并采用JavaScript实现应用逻辑。 | |
演示如何通过 qml 使用不同的图表类型 | |
一个具有基于状态的自定义用户界面的Qt Quick 应用程序。 | |
一款使用Qt Quick 3D Physics 及其他 Qt 模块的掷骰子应用程序。 | |
通过 QOpenGLExtraFunctions 演示 OpenGL ES 3.0 函数 | |
一个具有响应式用户界面的应用程序,通过结合使用Qt Quick 、Qt Location 、Qt Positioning 和Qt WebSockets,在地图上实时显示闪电落点。 | |
地图查看器示例演示了如何显示地图并与之交互、搜索地址以及查找驾车路线 | |
使用Qt Quick 播放音频和视频。 | |
这个基于Qt Quick 的应用程序演示了如何使用该API捕获静止图像或视频 | |
一个使用Qt Quick Controls 以及实现简单联系人列表的 C++ 类的 QML 应用程序 | |
控件图库 | |
演示了一款专为可穿戴设备设计的应用程序启动器 | |
QtJenny: Generating C++ proxy classes to access Android APIs | 展示 QtJenny 使用的演示 |
演示如何在Qt Quick 场景中渲染OpenGL | |
“传感器展示”示例通过可视化示例演示了传感器的使用方法 |
嵌入式
一个采用基于状态的自定义用户界面的Qt Quick 应用程序。 | |
“自定义扩展”演示了如何实现自定义 Wayland 扩展 | |
“自定义 Shell”演示了如何实现自定义 Shell 扩展 | |
“炫酷合成器”是一个示例,演示了如何使用纯 QML 编写一个炫酷的 Wayland 合成器 | |
IVI Compositor 是一个示例,演示了如何使用 IviApplication 扩展 | |
Minimal CPP 是一个示例,演示如何使用 C++ 编写 Wayland 合成器 | |
Minimal QML 是一个简单示例,演示了如何使用 QML 编写 Wayland 合成器 | |
Multi Output 是一个演示具有多个输出的合成器的示例 | |
Multi Screen 是一个适用于多屏幕的桌面风格 Wayland 合成器 | |
“Overview Compositor” 演示了如何在网格中切换客户端 | |
演示了一个专为可穿戴设备设计的应用程序启动器 | |
QtShell 合成器演示了如何使用 QtShell 壳扩展 | |
“服务器端装饰合成器”是一个简单的示例,演示了在 xdg-shell 上实现服务器端窗口装饰 | |
“跨屏显示”是一个示例,演示了如何让 Wayland 客户端跨多个屏幕显示 | |
“恒温器”示例演示了如何根据窗口大小实现不同的设计。 | |
此示例展示了如何在Qt Quick 应用程序中使用虚拟键盘 |
图形
2D 绘图示例展示了如何将 QPainter 与 QOpenGLWidget 结合使用,在支持的硬件上显示加速的 2D 图形 | |
可视化包含 40000 个芯片项的庞大图形视图场景 | |
一个Qt Quick 示例,演示了文本的一些高级功能 | |
演示了 QPainter 中仿射变换的工作原理 | |
“模拟时钟”示例展示了如何绘制自定义控件的内容 | |
“基本绘图”示例展示了如何使用 QPainter 类以多种样式显示基本图形基元 | |
演示如何创建基本的图形布局 | |
如何在 QML 中使用 QQuickImageProvider 加载图像 | |
如何在 QML 中异步加载图像 | |
演示如何对图形视图中的项目进行动画处理 | |
演示了 QPainter 中合成模式的工作原理 | |
演示如何使用 Qt 3D API 和着色语言抽象层 QRhi,渲染带纹理的立方体并将其与 QPainter 和 Qt Widgets 集成 | |
演示如何使用图形视图框架 | |
演示如何在图形视图中拖放项目 | |
缓动曲线示例演示了如何使用缓动曲线来控制动画的速度 | |
演示如何与场景中的图形项进行交互 | |
演示如何在 QPainter 中使用渐变 | |
通过 QOpenGLExtraFunctions 演示 OpenGL ES 3.0 函数 | |
演示使用 QVulkanWindow 的基础知识 | |
展示了使用 QVulkanWindow 和 Vulkan API 进行渲染的基础知识 | |
演示在 QWidget 应用程序中使用 QVulkanWindow | |
演示 QPainter 中合成模式的工作原理 | |
本示例演示了如何创建一个基于 QWindow 的简易应用程序,用于使用 OpenGL | |
“绘图路径”示例演示了如何使用绘图路径构建用于渲染的复杂形状 | |
“路径描边”示例展示了可与 QPainter 配合使用的各种笔型 | |
本示例演示如何创建一个基于 QOpenGLWidget 的简易应用程序,该应用程序支持立体渲染 | |
演示如何将Qt Quick 场景渲染到纹理中,然后由非Quick基于的Direct3D 11渲染器使用该纹理 | |
演示如何将Qt Quick 场景渲染为纹理,供非基于Quick的OpenGL渲染器使用 | |
演示如何将Qt Quick 场景渲染到QRhiTexture中 | |
演示 Qt Canvas2D 元素的使用方法 | |
演示在 QWindow 中使用 QCanvasPainter | |
演示在Qt Quick 应用程序中使用QCanvasPainter的功能 | |
演示如何使用 QCanvasPainter 和 QCanvasPainterWidget | |
演示如何使用 QQuickAttachedPropertyPropagator | |
一个使用Qt Quick Controls 和QML模块并包含自定义控件的QML应用程序 | |
使用自定义 Imagine 风格资源的汽车用户界面 | |
一个使用Qt Quick Controls | |
一个 QML 时钟应用程序,演示了如何使用 ListView 类型来显示由 ListModel 生成的数据,以及如何使用 SpringAnimation 类型来对图像进行动画处理。 | |
本示例演示了无障碍按钮的实现 | |
这是一组 QML 动画示例 | |
这是一组 QML Canvas 示例 | |
这是一组 QML 拖放示例 | |
演示了如何通过 QWidget::createWindowContainer() 将 QQuickWindow 嵌入到 QWidget 用户界面中 | |
这是一组与图像类型相关的 QML 示例 | |
一个Qt Quick 示例展示了如何为UI的特定部分设置可变刷新率 | |
这是一组 QML 键盘交互示例 | |
这是一个 QML 中 MouseArea 类型的示例 | |
演示 MultiEffect 的用法 | |
演示 MultiEffect 的用法 | |
演示 RectangularShadow 的用法 | |
一个Qt Quick 示例,演示了着色器效果的使用 | |
一个Qt Quick 示例,演示了形状项的使用 | |
这是一组与文本相关的 QML 示例 | |
这是一组 QML 模型-视图示例 | |
本示例演示了 QML 中的 Window 和 Screen 类型 | |
这是一组使用 QML 粒子系统中 Affectors 的示例 | |
这是一组在 QML 粒子系统中使用 Emitters 的示例 | |
这是一组在 QML 粒子系统中使用“影响器”的示例 | |
这是一组使用 QML 粒子系统中 Affectors 的示例 | |
康威的“生命游戏”示例展示了如何使用 QML 的 TableView 类型来显示一个 C++ 模型,用户可以对其进行平移操作 | |
“Pixelator”示例展示了如何利用 QML TableView 和委托来实现自定义表格模型 | |
本示例演示了如何使用 QRhi 创建一个基于 QWindow 的最简应用程序 | |
本示例演示了如何使用 QPainter 进行渲染,创建一个基于 QWindow 的简易应用程序 | |
一个用于渲染和查看 SVG 文件的Qt Widgets 示例 | |
演示如何在Qt Quick 场景图中实现自定义几何体 | |
演示如何在Qt Quick 场景图中实现自定义材质 | |
演示如何使用 QSGRenderNode 在Qt Quick 场景图中实现自定义渲染 | |
演示如何在Qt Quick 场景下直接使用Direct3D 11进行渲染 | |
演示如何在单个 QQuickItem 下结合自定义材质和几何体 | |
演示如何使用直接通过 Metal 创建的纹理 | |
演示如何在Qt Quick 场景中直接使用Metal进行渲染 | |
演示如何在Qt Quick 场景中使用OpenGL进行渲染 | |
演示如何实现基于 QPainter 的自定义场景图项 | |
演示如何实现一个显示由 QRhi 渲染的纹理的自定义 QQuickItem | |
演示如何在Qt Quick 场景中使用QRhi进行直接渲染 | |
演示了自定义项在使用Qt Quick | |
演示如何在自定义场景图节点中组合来自两个纹理提供者的两张纹理 | |
演示如何使用直接通过Vulkan创建的纹理 | |
演示如何在Qt Quick 场景中使用Vulkan直接渲染 | |
演示在图形视图场景中进行锚点布局 | |
演示如何使用 QRhi(Qt 3D API 和着色语言抽象层)渲染一个三角形 | |
变换示例演示了变换如何影响 QPainter 渲染图形基元的方式 | |
演示如何操作 QPainterPath 的元素 | |
一个Qt Quick 示例,演示Qt SVG 、VectorImage和svgtoqml之间的差异 | |
一个Qt Quick Shapes示例,演示了在应用程序中使用形状的不同方法 | |
演示如何使用通过Qt Quick Effect Maker (QQEM)创建的效果 | |
一个演示在应用程序中使用 lottietoqml 的示例 | |
演示如何使用Qt Quick |
多媒体
列出可用的音频设备及其配置 | |
使用 QAudioSink 类启用音频播放 | |
发现可用设备及支持的编解码器 | |
使用 QAudioSource 类录制音频 | |
演示如何捕获静止图像或录制视频 | |
使用Qt Widgets | |
这个基于Qt Quick 的应用程序演示了如何使用API捕获静态图像或视频 | |
使用 QML MediaPlayer 类型播放音频和视频 | |
转换视频和相机取景器内容 | |
使用Qt Quick | |
捕获屏幕或窗口 | |
展示了 Qt Spatial Audio 中空间音频引擎的部分功能 | |
在图形场景中流式传输视频 | |
实现视频播放器控件 |
3D
演示如何根据用户输入手动旋转带纹理的3D立方体 | |
演示了Qt Quick 3D 的材质和特效功能。此示例演示了如何在Qt Quick 3D 中使用粒子特效和材质。 | |
“Hello GL2”示例演示了 Qt OpenGL 提供的与 OpenGL 相关的类的基本用法 | |
演示简单的实例化绘制 | |
一个用于查看 OSM(OpenStreetMap)建筑地图数据的 3D 建筑查看器。 | |
展示了Qt 3D 提供的四种基本形状,并为每种形状设置了一个网格 | |
一个 QML 示例,演示如何从多个视口渲染场景图 | |
一个演示如何使用 PBR 材质的 QML 应用程序 | |
一个 C++ 应用程序,演示如何在Qt 3D | |
演示如何在Qt 3D | |
一个 QML 应用程序,演示如何在Qt 3D | |
一个Qt 3D QML应用程序,实现了单通道线框渲染方法 | |
演示了Qt Quick 3D | |
演示在3D场景中使用烘焙光照贴图 | |
演示级联阴影贴图 | |
演示如何编写自定义后期处理效果 | |
演示如何从 C++ 和 QML 提供自定义顶点数据 | |
演示使用自定义材质和 C++ 实例表进行实例化 | |
演示如何编写带着色效果的自定义材质 | |
演示如何编写带有变形目标的 C++ 自定义几何体 | |
演示如何使用自定义顶点着色器和片段着色器 | |
演示动态模型创建 | |
演示如何在Qt Quick 3D | |
演示如何在Qt Quick 3D | |
演示如何在Qt Quick 3D | |
演示在 QtQuick3D 中使用图层 | |
演示细节级别(LOD)辅助函数的使用 | |
演示如何使用不同类型的光源 | |
演示如何在Qt Quick 3D | |
演示如何使用实验性的构建时材质处理支持 | |
演示Qt Quick 3D | |
演示如何使用Qt Quick 3D 的Particles3D模块 | |
演示如何选取模型 | |
演示如何使用Principled材质 | |
演示如何从 C++ 或 QML 提供自定义纹理数据 | |
演示如何使用 Quick3D 创建一个简单的游戏 | |
演示如何在Quick 3D场景中使用Qt Quick Items | |
演示在Qt Quick 3D | |
演示如何在运行时加载资源 | |
一个展示使用SSGI和光照贴图的场景示例 | |
演示如何在ExtendedSceneEnvironment中进行操作 | |
演示中的反射效果Qt Quick 3D | |
演示如何在 3D 场景中启用雾效 | |
演示如何在运行时加载 3D 资源并查询其场景对象 | |
演示如何在Qt Quick 3D | |
演示使用 SkyMaterial 进行过程化天空渲染和基于图像的照明 | |
演示如何使用 QtQuick3D 渲染扩展来实现模板轮廓渲染 | |
演示如何为子网格分配材质 | |
演示如何在Qt Quick 3D | |
演示如何使用 View3D 从多个摄像机视角展示场景 | |
演示如何在渲染扩展中实现体积雾 | |
演示如何在Qt Quick 3D | |
演示如何使用Qt Quick 3D XR操作3D对象 | |
演示在曲面显示屏上的触控操作以及3D模型的触控处理 | |
演示如何在Qt Quick 3D XR中实现简单的移动机制 | |
演示如何在Qt Quick 3D XR中实现受物理规律影响的移动。 | |
演示如何使用Qt Quick 3D XR搭建一个简单的VR场景 | |
演示在Qt Quick 3D XR中使用控制器输入 | |
演示在Qt Quick 3D XR 中使用手部追踪输入 | |
演示如何在Qt Quick 3D XR中使用空间锚点 | |
演示如何生成物理对象 | |
演示 CharacterController 类型 | |
演示如何使用复杂的碰撞形状 | |
演示如何使用不同的形状 | |
演示如何使用触发体和碰撞信息 | |
演示在物理场景中使用关节 | |
演示设置刚体质量和惯性的不同方法 | |
演示如何使用物理材质 | |
演示如何搭建一个简单的物理场景 | |
一个3D定制示例,演示如何使用Qt Quick 3D 进行交互式玩具选择和实时外观调整。 |
数据可视化
此示例展示了麦克风采样值与音频电平的绘图 | |
在 QML 中使用自定义输入处理程序实现轴拖动,并创建自定义轴格式化器 | |
演示如何使用 qml 应用不同的图表类型 | |
一个演示Qt Charts 控件API的应用程序 | |
使用图表模拟飞机驾驶舱的示例应用程序 | |
条形图、散点图和曲面图图表图库 | |
打印 2D 或 3D 图表 | |
在基于控件的应用程序中使用 2D 图表 | |
如何在Qt Graphs 中可视化CSV文件中的数据。 | |
在Qt Quick 应用程序中使用2D图表 | |
数学方程的可视化 | |
示例演示了如何为 QLineSeries 和 QScatterSeries 启用 OpenGL 加速 | |
示例演示了如何使用Qt Charts QML API 实现具有严格性能要求的应用程序 | |
这是一个基础演示,展示了如何通过 QML 使用不同的图表类型 | |
在 QML 应用程序中使用 Bars3D | |
在 QML 应用程序中使用 Scatter3D | |
一个可配置的、包含100只股票的股票图表。 | |
展示三种使用 Surface3D 图表方法的图库 | |
体积对象的渲染 | |
包含 2D 和 3D 图表的风力涡轮机仪表盘 | |
示例演示了如何创建自定义缩放效果 |
数据处理与输入/输出
演示如何通过使用可绑定属性来简化您的 C++ 代码 | |
演示如何在模型/视图框架中使用Qt SQL 类 | |
缓存表示例演示了如何使用表格视图访问数据库,并将数据更改缓存起来,直到用户通过按钮显式提交这些更改为止 | |
QCalendar示例演示了用户提供的自定义日历 | |
“连续缓存”示例展示了如何使用 QContiguousCache 来管理超大模型的内存使用。 在某些环境中,内存是有限的;即使内存充足,用户也不喜欢应用程序占用过多内存。使用 QContiguousCache 来管理列表,而不是将整个列表加载到内存中,可以使应用程序限制其使用的内存量,无论访问的数据集大小如何 | |
提供用于读取 XML 书签交换语言 (XML Bookmark Exchange Language) 文件的解析器 | |
“钻取”示例展示了如何使用 QSqlRelationalTableModel 和 QDataWidgetMapper 类从数据库读取数据并提交更改 | |
“Hello Speak”示例用于读取用户提供的文本 | |
演示了如何使用共享内存 IPC 机制在不同进程之间共享图像数据 | |
展示了 MIME 类型的层次结构,可用于确定文件的 MIME 类型 | |
Mandelbrot 示例演示了使用 Qt 进行的多线程编程。它展示了如何使用工作线程执行繁重的计算,同时不阻塞主线程的事件循环 | |
主从示例演示了如何在同一应用程序中呈现来自不同数据源的数据。专辑名称以及相应的艺人和发行日期保存在数据库中,而每张专辑的曲目则存储在 XML 文件中 | |
Models and Views: List Model using a worker thread for data fetching | 演示如何利用工作线程获取数据,并实现具有响应式用户界面的列表模型 |
“移动块”示例展示了如何使用带有自定义过渡效果的 QStateMachine 在 QGraphicsScene 中对项目进行动画处理 | |
演示如何解析 CBOR 格式的文件 | |
“Ping Pong States”示例展示了如何在Qt State Machine 框架中将并行状态与自定义事件和过渡结合使用 | |
演示如何监控并发操作的进度 | |
“使用信号量的生产者与消费者”示例展示了如何使用 QSemaphore 来控制对生产者线程和消费者线程共享的环形缓冲区的访问 | |
“使用等待条件的生成者与消费者”示例展示了如何使用 QWaitCondition 和 QMutex 来控制对生成者线程和消费者线程共享的环形缓冲区的访问 | |
演示如何读写 XBEL 文件 | |
使用模型/视图方法在树视图中显示 OPC UA 服务器的所有节点 | |
演示如何生成密钥和证书签名请求 | |
QML 本地存储示例集 | |
与 OPC UA 服务器交互,为一台简单的水泵构建基于 QML 的 HMI | |
查询模型示例演示了如何使用封装了查询和表视图的模型,对从 SQL 查询中获取的数据进行自定义处理并显示结果 | |
“队列化自定义类型”示例演示了如何利用队列化的信号和槽在线程之间传输自定义类型 | |
“快速语音”示例可朗读用户提供的文本 | |
“关系表模型”示例展示了如何结合关系模型使用表视图,以可视化数据库中项目之间的关系 | |
“Rogue”示例展示了如何使用 Qt State Machine进行事件处理 | |
一个实现了 SCXML 规范中“计算器”示例的应用程序 | |
调用一个已编译的嵌套状态机 | |
向 C++ 数据模型发送数据并从中接收数据 | |
演示了如何在 SCXML 中使用独立的 JavaScript 文件 | |
一个使用动态加载状态机来实现交通信号灯的Qt Quick 应用程序 | |
一个基于小部件的应用程序,它使用动态加载的状态机来实现交通信号灯 | |
一个Qt Quick 应用程序,使用编译后的状态机来实现简化的交通信号灯 | |
一个使用编译后状态机实现交通信号灯的Qt Quick 应用程序 | |
一个基于小部件的应用程序,它使用编译后的状态机来实现交通信号灯 | |
SQL 浏览器示例展示了如何使用数据浏览器将 SQL 语句在实时数据库上的执行结果可视化 | |
SQL Widget Mapper 示例展示了如何将数据库中的地图信息映射到表单上的控件 | |
如何使用 Qt 的 JSON 或 CBOR 类保存和加载游戏 | |
如何在不同的序列化格式之间进行转换 | |
“表模型”示例展示了如何使用专用的 SQL 表模型配合表视图来编辑数据库中的信息 | |
演示了不同的执行模式和工作流策略如何影响复杂的 TaskTree 执行 | |
演示如何并行运行 For 循环迭代,以使用 TaskTree 异步下载和缩放图像 | |
通过交通信号灯模拟演示如何使用TaskTree实现状态机行为 | |
“交通信号灯”示例展示了如何使用Qt State Machine 概述来实现交通信号灯的控制流 | |
本示例演示如何使用 Qt 撤销框架实现撤销/重做功能 | |
与 OPC UA 服务器交互,为一台简单的水泵机器构建基于 QML 的 HMI | |
一个实现简单水泵机模拟的 OPC UA 服务器 | |
演示如何使用MapReduce算法 |
连接性
读取格式化的NFC数据交换格式(NDEF)消息 | |
演示如何在非GUI线程中使用QSerialPort的同步API | |
演示如何在工作线程中使用 QSerialPort 的同步 API | |
演示通过 RFCOMM 协议进行蓝牙通信 | |
一个演示与蓝牙低功耗心率设备/服务交互的游戏 | |
一个演示如何设置和广播 GATT 服务的示例。该示例演示了如何使用与外设(从机)功能相关的Qt Bluetooth 低功耗类 | |
一款用于浏览蓝牙低功耗外设内容的应用程序。该示例演示了如何使用所有Qt Bluetooth 低功耗类 | |
该示例演示了CAN总线帧的发送和接收 | |
演示应用程序实例之间的通信 | |
演示了Qt D-Bus 类型系统的使用 | |
演示使用 D-Bus 的简单消息系统 | |
演示如何使用Qt D-Bus 从另一个应用程序控制汽车 | |
演示如何使用 QLocalSocket 构建简单的本地服务客户端 | |
演示如何使用 QLocalServer 和 QLocalSocket 提供简单的本地服务 | |
创建一个与 MQTT 代理进行通信的应用程序 | |
示例实现了一个 Modbus 客户端应用程序 | |
示例演示了如何处理自定义的 Modbus 功能代码 | |
示例实现了一个 Modbus 服务器应用程序 | |
开发一个非常简单的客户端程序,用于显示服务器上的内容及其变更 | |
开发一个简单的服务器程序,用于显示和修改在远程对象网络上提供的 QTreeView | |
从NFC Forum标签中读取和写入NFC数据交换格式(NDEF)消息 | |
使用Qt Quick Controls 创建一个能够发布到MQTT主题的应用程序 | |
使用Qt Quick Controls 创建一个能够订阅MQTT主题的应用程序 | |
在 QtRemoteObjects 中使用非基于 QIODevice 的传输协议(QWebSocket) | |
使用 CoAP 客户端配合Qt Quick 用户界面进行多播资源发现 | |
确保 CoAP 客户端的安全性,并将其与Qt Quick 用户界面配合使用 | |
使用 QSslSockets 设置安全的远程对象网络 | |
演示如何使用 QSerialPort 的各项功能 | |
创建一个与 CoAP 服务器通信的应用程序 | |
创建一个简约的遥测应用程序 | |
一个极简的远程对象服务器和客户端 | |
一个从服务器获取时间对象副本并在时钟中显示时间的客户端 | |
一个与已连接客户端共享时间对象的服务器 | |
将 MQTT 客户端与 WebSocket 连接相结合 |
网络编程
演示如何获取并显示网络资源 | |
演示如何为网络服务创建客户端 | |
演示如何接收通过本地网络广播的信息 | |
演示如何向本地网络上的多个客户端广播信息 | |
使用 OpenAPI 生成器创建用于与 OpenAI 模型通信的 RESTful API 客户端的示例 | |
如何生成 OpenAPI 客户端代码并将其集成到应用程序中的示例 | |
演示如何使用 QDnsLookup 查询主机名 | |
本示例演示了如何实现客户端 DTLS 连接 | |
本示例演示了如何实现一个简单的 DTLS 服务器 | |
演示如何为网络服务创建客户端 | |
演示如何为网络服务创建服务器 | |
演示一个简单的 HTTP 客户端 | |
演示如何异步下载和缩放图片 | |
一个具有响应式用户界面的应用程序,通过结合使用Qt Quick 、Qt Location 、Qt Positioning 和 Qt WebSockets,在地图上实时显示闪电击中位置。 | |
在 Qt GRPC 客户端与 C++ gRPC 服务器之间建立 HTTP2 连接 | |
演示如何在客户端使用 SCTP | |
演示如何在服务器端使用 SCTP | |
演示如何接收发送到组播组的信息 | |
演示如何向多播组发送消息 | |
演示一个带状态的点对点聊天客户端 | |
讲解如何编写一个 QML WebSocket 客户端示例 | |
一个展示如何使用 QML WebSocketServer 的简单示例 | |
Qt GRPC 客户端指南 | |
创建 RESTful API QML 客户端的示例。 | |
一款可在聊天室中分享各类消息的聊天应用程序 | |
演示如何通过 OAuth 2 身份验证来访问 Reddit | |
使用状态机实现一个简单的FTP客户端 | |
演示如何通过加密(SSL)连接进行通信 | |
一个使用安全 WebSockets (wss) 的简单客户端应用程序 | |
一个通过安全 WebSockets (wss) 响应客户端的简单服务器 | |
传感器示例演示了两个应用程序如何通过 UDP 套接字发送 protobuf 消息进行通信 | |
关于如何搭建 HTTP 服务器的简单示例 | |
一个使用 WebSocket 协议的简易聊天应用程序 | |
演示如何通过TaskTree并行执行For循环迭代,以异步下载并缩放图像 | |
多线程“Fortune”服务器示例演示了如何创建一个简单的网络服务服务器,该服务器使用线程处理来自不同客户端的请求。该示例旨在与“Fortune”客户端示例配合运行 | |
演示复杂的 TCP/IP 操作 | |
管理 Qt GRPC 客户端与 C++ gRPC 服务器之间的两个多线程连接 | |
演示如何编写一个简单的 WebSocket 客户端应用程序 | |
演示如何编写一个简单的 WebSocket 服务器应用程序 |
定位与位置
GeoJSON 查看器示例演示了如何操作 MapItems、处理用户输入以及与 GeoJSON 文件之间的数据输入输出 | |
一个具备响应式用户界面的应用程序,通过结合使用Qt Quick 、Qt Location 、Qt Positioning 和 Qt WebSockets,在地图上实时显示闪电落点。 | |
《日志文件位置源》演示了如何创建和使用自定义位置源。这对于模拟 GPS 数据,或者当数据以某种自定义格式接收时非常有用 | |
“地图查看器”示例演示了如何显示地图并与之交互、搜索地址以及查找驾车路线 | |
如何将过渡效果与 MapItemView 结合使用 | |
使用Qt Quick | |
“地点”示例演示了如何搜索地点并访问相关内容 | |
“地点列表”示例演示了如何使用 ListView 搜索并显示地点列表 | |
“地点地图”示例演示了如何使用 MapItemView 在地图上搜索并显示地点列表 | |
“Plane Spotter”示例演示了位置和定位数据类型与 QML 的紧密集成 | |
“卫星信息”示例展示了如何通过“天空视图”、“表格视图”或“RSSI 视图”显示可用的卫星以及用户的当前位置。该示例使用Qt Positioning 实现,并Qt Quick | |
“天气信息”示例展示了如何在Qt Quick 的C++插件中,利用用户的当前位置从Web服务中检索本地内容,使用Qt Positioning |
用户界面组件
“通讯录”示例展示了如何使用代理模型,针对单一模型中的数据显示不同的视图 | |
理解Qt Linguist 上下文概念并使用两种或多种语言 | |
演示了如何使用标准布局管理器 | |
基本排序/过滤模型示例说明了如何使用 QSortFilterProxyModel 执行基本的排序和过滤 | |
该示例展示了如何使用信号和插槽来实现计算器小部件的功能,以及如何使用 QGridLayout 将子小部件放置在网格中 | |
日历小部件示例展示了 QCalendarWidget 的用法 | |
下拉列表控件映射器示例展示了如何使用 QDataWidgetMapper 将模型中的信息映射到表单上的特定控件 | |
“补全器”示例展示了如何基于模型提供的数据,为输入控件提供字符串补全功能 | |
使用 QHelpEngineCore 类为应用程序实现上下文相关帮助 | |
自定义补全器示例展示了如何基于模型提供的数据为输入控件提供字符串补全功能。补全器会根据用户输入的前三个字符弹出可能的单词建议,并使用 QTextCursor 将用户选择的单词插入到 TextEdit 中 | |
“自定义排序/过滤模型”示例演示了如何通过继承 QSortFilterProxyModel 类来实现高级排序和过滤 | |
“可拖放图标”示例展示了如何在同一应用程序内的控件之间,以及不同应用程序之间拖放图像数据 | |
演示了如何在小部件之间拖放文本 | |
该示例演示了如何在拖放操作中区分各种可用的 MIME 格式 | |
本示例演示了如何实现一个简单的基于项的树模型,该模型可与模型/视图框架中的其他类一起使用 | |
“Fetch More”示例展示了如何按需向项目视图模型中添加项目 | |
演示了如何根据不同的窗口大小排列小部件 | |
本示例演示了如何在 QTableView 中固定一列 | |
一个基于Qt Widgets 的记事本应用程序教程 | |
演示了在小部件中使用简单手势的方法 | |
“许可证向导”示例展示了如何在 Qt 中实现复杂的向导 | |
“行编辑”示例演示了 QLineEdit 的多种用法,并展示了各种属性和验证器对用户输入和输出的影响 | |
该示例展示了在 CMake 和Qt Quick 中使用 Qt 翻译和本地化功能的最佳实践,包括处理不同语言中的复数形式以及本地化的日期和时间格式 | |
该示例展示了在 CMake 和Qt Quick 中使用 Qt 基于 ID 的翻译功能的最佳实践,包括处理不同语言中的复数形式以及本地化时间格式 | |
该示例演示了在 CMake 和Qt Quick 中使用 Qt 翻译和本地化功能的最佳实践,特别是如何在运行时更改应用程序的语言。该示例扩展了更简单的“本地化时钟”示例 | |
菜单示例演示了如何在主窗口应用程序中使用菜单 | |
展示了如何在 QML 中将 QAbstractItemModel 的子类用作模型 | |
Models and Views: Fetch More functionality using a worker thread | 演示了如何在保持用户界面响应性的同时,在工作线程中实现fetchMore() |
Models and Views: List Model using a worker thread for data fetching | 演示如何利用工作线程获取数据,同时实现具有响应式用户界面的列表模型 |
演示如何 | |
演示了如何在 QML 中将 QStringList 用作模型 | |
订单表单示例展示了如何通过将简单模板与用户在对话框中输入的数据相结合来生成富文本文档 | |
一款Qt Quick PDF查看器,支持在页面间滚动浏览 | |
一个Qt Quick PDF查看器,支持一次查看一页 | |
一个基于小部件的 PDF 查看器,支持页面滚动 | |
QML Dynamic View Ordering Tutorial 1 - A Simple ListView and Delegate | |
演示如何使用 QWidget::createWindowContainer() 将Qt Quick 与Qt Widgets 应用程序结合使用 | |
演示了QQuickWidget相对于作为原生窗口嵌入的QQuickView的优势 | |
QRegularExpression示例通过提供一个环境,在该环境中可以创建新的正则表达式并在自定义文本字符串上进行测试,从而展示了Qt中正则表达式如何应用于文本 | |
一个使用Qt Quick Controls 并基于 C++ 类实现简单联系人列表的 QML 应用程序 | |
一个简单的活动日历 | |
控件图库 | |
演示了如何在交互式组件中使用Qt Quick 输入处理程序 | |
这是一组 QML Positioner 示例 | |
演示如何使用布局类型来排列用户界面 | |
演示如何使用 LayoutItemProxy 创建响应式用户界面 | |
演示如何使用 QQuickWidget 类将Qt Quick 与Qt Widgets 应用程序结合使用 | |
“Scribble”示例展示了如何重写 QWidget 中的某些事件处理程序,以接收应用程序控件生成的事件 | |
“快捷键编辑器”示例演示了如何创建一个基本的、可读写的层次化模型,以便与 Qt 的标准视图类和 QKeySequenceEdit 类配合使用。关于模型/视图编程的说明,请参阅“模型/视图编程概述” | |
“简单树模型”示例演示了如何将分层模型与 Qt 的标准视图类结合使用 | |
“滑块”示例展示了如何使用 Qt 中提供的不同类型的滑块:QSlider、QScrollBar 和 QDial | |
“旋转框”示例演示了如何使用 Qt 中提供的多种不同类型的旋转框,从简单的 QSpinBox 控件到更复杂的编辑器(如 QDateTimeEdit 控件) | |
电子表格示例展示了如何创建一个简单的电子表格应用程序 | |
演示如何创建电子表格应用程序 | |
“标准对话框”示例展示了 Qt 提供的标准对话框 | |
“Star Delegate”示例演示了如何创建一个能够自行绘制且支持编辑的委托 | |
演示如何在 StyleKit 中使用自定义委托和着色器效果 | |
演示如何使用 StyleKit 为Qt Quick Controls 设置样式 | |
演示如何使用 StyleKit 为Qt Widgets 设置样式 | |
“语法高亮”示例演示了如何实现简单的语法高亮 | |
“标签页对话框”示例展示了如何使用 QTabWidget 类构建标签页对话框 | |
本示例演示了如何在 Qt 应用程序中使用 Wacom 数位板 | |
演示如何创建支持触摸输入的自定义控件 | |
该示例演示了如何创建一个具有半透明背景的圆形窗口 | |
树模型补全示例展示了如何为分层模型提供补全功能,使用句点作为分隔符来访问子、孙和曾孙级别的对象 | |
“简单向导”示例演示了如何使用三个 QWizardPage 实例和一个 QWizard 实例来创建一个线性的三页注册向导 | |
为后续版本更新翻译 | |
“Dial Control”示例演示了如何创建一个速度表类型的刻度盘 | |
“可翻转”示例展示了一个项目,该项目在被点击时会围绕 y 轴旋转 | |
控件图库示例展示了与 UI 设计相关的控件 | |
“窗口标志”示例展示了如何使用 Qt 中提供的窗口标志 | |
演示如何在 Qt 应用程序中托管非 Qt UI 元素。 |
Web 技术
演示了一个简单的 HTTP 客户端 | |
一个 QML RSS 新闻阅读器,它使用 XmlListModel 和 XmlListModelRole 自定义 QML 类型来下载 XML 数据,使用 ListModel 和 ListElement 来创建类别列表,并使用 ListView 来显示数据。 | |
一个通过 WebSocket 与 QWebChannel 服务器通信的 HTML/JavaScript 客户端 | |
一个通过 WebSocket 与 QWebChannel 服务器通信的 QML 客户端 | |
使用 QWebChannel C++ API 实现的简单聊天服务器 | |
服务器与在浏览器中运行的远程客户端之间的简单聊天 | |
Qt WebView Examples - A minimal example for a web view in Qt Quick | 本示例演示了如何将Qt WebView 模块与Qt Quick |
使用 QHttpServer 创建 RESTful API 服务器的示例 | |
将自定义样式表注入网页,并为自定义标记语言提供富文本预览工具 | |
关于如何设置HTTP服务器的简单示例 | |
演示如何加载和操作网页内容 | |
基于Qt WebEngine Widgets的Cookie浏览器 | |
冻结并丢弃后台标签页以减少 CPU 和内存占用 | |
演示如何向用户发送 HTML5 网页通知 | |
演示如何订阅和取消订阅推送通知 | |
使用 WebEngineView QML 类型实现的 Web 浏览器 | |
使用Qt WebEngine 和 QSslServer 实现的简单客户端证书认证场景 | |
使用Qt WebEngine | |
演示如何处理地理位置请求 | |
演示如何处理网站权限请求并管理现有权限 | |
演示如何使用Qt WebEngine 控件打印网页 | |
基于Qt WebEngine Widgets的简单浏览器 | |
将拼写检查器集成到一个简单的 HTML 表单中 | |
使用 QWebEngineView 显示全屏视频 |
社区示例
要查看和运行 Qt 项目提供的示例,请访问“社区示例”页面。
所有示例
“所有 Qt 示例”列出了按所属 Qt 模块分类的所有示例。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.