Qt 示例和教程

Qt 提供了一系列代码示例和教程,以帮助新用户开始 Qt 开发。这些文档涵盖一系列主题,从 widget 的基本使用到显示应用程序如何组合的分步教程。

这些示例是 Qt 软件包的一部分。请访问下载页面了解更多信息。

运行示例

Qt Creator Welcome 模式下打开并运行示例。大多数示例可在不同平台上运行,要搜索特定平台的示例,请在搜索栏中键入平台名称(或任何关键字)。例如,在搜索栏中输入Android ,就会列出与 Android 完全兼容的示例。

有关在Qt Creator 中运行示例的更多信息,请参阅Qt Creator: 教程:构建并运行

应用程序示例

Calqlatr

一个专为横向和纵向设备设计的Qt Quick 应用程序,使用自定义组件、响应式布局和 JavaScript 作为应用程序逻辑。

Car Configurator

汽车模型示例,演示如何使用Qt Quick 3D 摄像头、扩展场景环境和Qt Quick 3D。

Coffee Machine

具有基于状态的自定义用户界面的Qt Quick 应用程序。

Dice

使用Qt Quick 3D Physics 和其他 Qt XML 模块的掷骰子应用程序。

Document Viewer

用于显示和打印 JSON、文本和 PDF 文件的 Widgets 应用程序。

FX & Material Showroom

演示Qt Quick 3D 的材质和特效功能。该示例演示了如何在Qt Quick 3D 中使用粒子效果和材料。

File System Explorer

一个桌面 QML 应用程序,利用定制的Qt Quick Controls 显示来自文件系统的文本文件。

Getting Started Programming with Qt Quick

基于警报应用程序的Qt Quick 教程。

Lightning Viewer

通过结合Qt Quick,Qt Location,Qt Positioning 和 Qt WebSockets,一个具有响应式用户界面的应用程序可在地图上实时显示雷击情况。

Media Player

使用Qt Quick 播放音频和视频。

Photo Surface

一个用于触摸设备的 QML 应用程序,它使用带有 FolderListModel 的 Repeater 来访问文件夹中的内容,并使用 PinchHandler 来处理对获取内容的捏合手势。

Qt Quick Demo - RESTful API client

如何创建 RESTful API QML 客户端的示例。

QtGrpc Chat

在聊天室共享各种信息的聊天应用程序

Robot Arm

演示如何将 C++ 后端添加到Qt Design Studio 中的 3D 项目。本示例演示如何将 C++ 后端添加到Qt Design Studio 中创建的 3D 项目。示例本身包括Qt Quick 3D 场景中的交互式工业机械臂。控制机械臂的 2D UI 使用Qt Quick Controls 实现。

Same Game

Kuniaki Moribe 制作的流行益智游戏的 QML 实现。

Satellite Info

卫星信息示例使用天空视图、表格视图或 RSSI 视图显示可用卫星以及用户当前位置。它是通过Qt PositioningQt Quick

Thermostat

家用恒温器的用户界面,用Qt Quick 实现。它演示了如何创建可从大型桌面显示屏扩展到移动和小型嵌入式显示屏的响应式应用程序。

To Do List

QML 实现的待办事项列表应用程序,演示了如何创建在任何平台上看起来都是原生的应用程序。

WebEngine Quick Nano Browser

使用 WebEngineView QML 类型实现的网络浏览器

Window Embedding

演示如何在 Qt 应用程序中嵌入非 Qt UI 元素。

桌面

COM App Example (ActiveQt)

COM App 示例展示了如何使用 ActiveQt 开发可通过 COM 自动运行的 Qt 应用程序。不同的基于 QObject 的类被暴露为 COM 对象,与运行中的 Qt GUI 应用程序进行通信。这些 COM 对象的应用程序接口(API)与标准 COM 应用程序的应用程序接口(API)相似,即 Microsoft Office 中的应用程序接口。

Calculator Builder

在运行时从Qt Widgets Designer 表单创建用户界面

Calculator Form

在应用程序中使用通过Qt Widgets Designer 创建的表单

Calculator Form/Multiple Inheritance

在应用程序中使用通过Qt Widgets Designer 创建的表单

Container Extension Example

创建自定义多页面插件Qt Widgets Designer

Custom Widget Plugin

创建自定义窗口小部件插件Qt Widgets Designer

Media Player

使用Qt Quick 播放音频和视频。

Qutlook Example (ActiveQt)

Qutlook 示例演示了如何使用 ActiveQt 自动运行 Outlook。该示例使用 dumpcpp 工具为描述 Outlook 对象模型的类型库生成一个 C++ 命名空间。

Remote Control Example

使用和控制Qt Assistant 作为帮助查看器

Simple Example (ActiveQt)

简单示例演示了 QAxBindable 和 QAxFactory 的使用

Simple Text Viewer Example

Qt Assistant 用作应用程序的定制帮助查看器

System Tray Icon Example

系统托盘图标示例展示了如何在桌面环境的系统托盘中添加一个带有菜单和弹出消息的图标

Taking a Screenshot

屏幕截图示例说明如何截取桌面屏幕截图

Task Menu Extension

Qt Widgets Designer 创建自定义 widget 插件,并提供与插件关联的自定义任务菜单条目

Text Finder

使用 QUiLoader 动态加载 .ui 文件

Wrapper Example (ActiveQt)

Wrapper 示例演示了如何将现有 QWidget 类导出为 ActiveX 控件,以及如何使用 QAxFactory 和 QAXFACTORY_EXPORT() 宏。本例中的 ActiveX 控件是 Qt 提供的标准按钮类 QPushButton、QCheckBox 和 QRadioButton。

移动应用程序

Calqlatr

一个专为横向和纵向设备设计的Qt Quick 应用程序,它使用自定义组件、响应式布局和 JavaScript 作为应用程序逻辑。

Charts with QML Gallery

演示如何使用 qml 来使用不同的图表类型

Coffee Machine

Qt Quick 应用程序,具有基于状态的自定义用户界面。

Dice

使用Qt Quick 3D Physics 和其他 Qt 模块的掷骰子应用程序。

Hello GLES3 Example

通过 QOpenGLExtraFunctions 演示 OpenGL ES 3.0 功能

Lightning Viewer

通过结合Qt Quick,Qt Location,Qt Positioning 和 Qt WebSockets,一款具有响应式 UI 的应用程序可在地图上实时显示闪电击中的情况。

Map Viewer (QML)

地图查看器示例展示了如何显示地图并与之交互、搜索地址以及查找行车路线

Media Player

使用Qt Quick 播放音频和视频。

QML Camera Application

这个基于Qt Quick 的应用程序展示了如何使用 API 捕捉静态图像或视频

Qt Quick Controls - Contact List

使用Qt Quick Controls 和 C++ 类实现简单联系人列表的 QML 应用程序

Qt Quick Controls - Gallery

控件画廊

Qt Quick Controls - Wearable Demo

演示专为可穿戴设备设计的应用程序启动器

Scene Graph - OpenGL Under QML

演示如何在Qt Quick 场景下渲染 OpenGL

Sensors Showcase

传感器展示示例通过可视化示例演示传感器的使用

嵌入式

Coffee Machine

具有基于状态的自定义用户界面的Qt Quick 应用程序。

Custom Extension

自定义扩展展示如何实现自定义 Wayland 扩展

Custom Shell

自定义外壳展示了如何实现自定义外壳扩展

Fancy Compositor

Fancy Compositor 是一个示例,演示如何用纯 QML 编写一个花哨的 Wayland 合成器。

IVI Compositor

IVI 合成器是一个演示如何使用 IviApplication 扩展的示例

Minimal CPP

Minimal CPP 是一个演示如何用 C++ 编写 Wayland 合成器的示例

Minimal QML

Minimal QML 是一个简单的示例,演示如何用 QML 编写 Wayland 合成器

Multi Output

多输出(Multi Output)是一个示例,演示了如何编写具有多输出的合成器。

Multi Screen

多屏幕(Multi Screen)是一款桌面风格的 Wayland 多屏幕合成器

Overview Compositor

概述合成器展示了如何在网格中切换客户端

Qt Quick Controls - Wearable Demo

演示专为可穿戴设备设计的应用程序启动器

QtShell Compositor

QtShell 合成器展示了如何使用 QtShell shell 扩展

Server Side Decoration Compositor

服务器端装饰编辑器是一个简单的示例,演示了 xdg-shell 上的服务器端窗口装饰

Spanning Screens

跨越屏幕是一个演示如何让 Wayland 客户端跨越多个屏幕的示例

Thermostat

家用恒温器的用户界面,使用Qt Quick 实现。它演示了如何创建可从大型桌面显示屏扩展到移动显示屏和小型嵌入式显示屏的响应式应用程序。

Virtual Keyboard in Qt Quick

该示例展示了如何在Qt Quick 应用程序中使用虚拟键盘。

图形

2D Painting Example

2D 绘图示例展示了如何将 QPainter 和 QOpenGLWidget 结合使用,在支持的硬件上显示加速的 2D 图形。

40000 Chips

可视化包含 40000 个芯片项的巨大图形视图场景

Advanced Text Example

Qt Quick 示例演示文本的一些高级功能

Affine Transformations

演示 QPainter 中的仿射变换如何工作

Analog Clock

模拟时钟示例展示了如何绘制自定义 widget 的内容

Basic Drawing Example

基本绘图示例演示了如何使用 QPainter 类以各种样式显示基本图形基元

Basic Graphics Layouts Example

演示如何创建基本图形布局

C++ Extensions: Image Provider Example

如何使用 QQuickImageProvider 在 QML 中加载图片

C++ Extensions: Image Response Provider Example

如何在 QML 中异步加载图片

Colliding Mice Example

演示如何为图形视图上的项目制作动画

Composition Modes

演示如何在 QPainter 中使用合成模式

Cube RHI Widget Example

演示如何使用 QRhi Qt 3D API 和着色语言抽象层渲染纹理立方体并与 QPainter 和 widgets 集成

Diagram Scene Example

演示如何使用图形视图框架

Drag and Drop Robot Example

演示如何在图形视图中拖放项目

Easing Curves Example

缓和曲线示例演示如何使用缓和曲线控制动画的速度

Elastic Nodes Example

演示如何与场景中的图形项目交互

Gradients

演示如何在 QPainter 中使用渐变效果

Hello GLES3 Example

通过 QOpenGLExtraFunctions 演示 OpenGL ES 3.0 功能

Hello Vulkan Cubes Example

展示使用 QVulkanWindow 的基础知识

Hello Vulkan Triangle Example

展示使用 QVulkanWindow 和 Vulkan API 进行渲染的基础知识

Hello Vulkan Widget Example

展示 QVulkanWindow 在 QWidget 应用程序中的用法

Image Composition Example

展示 QPainter 中的合成模式是如何工作的

OpenGL Window Example

该示例展示了如何为使用 OpenGL 而创建基于 QWindow 的最小应用程序

Painter Paths Example

绘制路径示例展示了如何使用绘制路径来构建复杂的渲染形状

Path Stroking

路径描边示例展示了可与 QPainter 配合使用的各种类型的笔

QOpenGLWidget Stereoscopic Rendering Example

该示例展示了如何创建一个支持立体渲染的基于 QOpenGLWidget 的最小应用程序

QQuickRenderControl D3D11 Example

演示如何将Qt Quick 场景渲染为纹理,然后由非基于 Quick 的 Direct3D 11 渲染器使用该纹理

QQuickRenderControl OpenGL Example

演示如何将Qt Quick 场景渲染为纹理,然后由非基于 Quick 的 OpenGL 渲染器使用该纹理

QQuickRenderControl RHI Example

演示如何将Qt Quick 场景渲染到 QRhiTexture 中

Qt Quick Controls - Attached Style Properties Example

演示如何使用 QQuickAttachedPropertyPropagator

Qt Quick Controls - Flat Style

使用Qt Quick Controls 和带有定制控件的 QML 插件的 QML 应用程序

Qt Quick Controls - Imagine Style Example: Automotive

使用自定义 Imagine 风格资产的汽车用户界面

Qt Quick Controls - Text Editor

一个富文本编辑器应用程序,使用了Qt Quick Controls

Qt Quick Demo - Clocks

QML 时钟应用程序,演示如何使用 ListView 类型显示 ListModel 生成的数据,以及使用 SpringAnimation 类型制作图像动画。

Qt Quick Examples - Accessibility

该示例演示了可访问按钮的实现

Qt Quick Examples - Animation

QML 动画示例集

Qt Quick Examples - Canvas

QML 画布示例集

Qt Quick Examples - Drag and Drop

QML 拖放示例集

Qt Quick Examples - Embedded in Widgets

演示通过 QWidget::createWindowContainer() 将 QQuickWindow 嵌入到 QWidget UI 中。

Qt Quick Examples - Image Elements

这是一组与图像类型有关的 QML 示例

Qt Quick Examples - Item Variable Refresh Rate

Qt Quick 示例展示了如何为用户界面的特定部分设置可变刷新率。

Qt Quick Examples - Key Interaction

QML 键盘交互示例集

Qt Quick Examples - MouseArea

这是 QML 中 MouseArea 类型的示例

Qt Quick Examples - MultiEffect Item Switcher

演示多重效果的使用

Qt Quick Examples - MultiEffect Test Bed

演示多重效果的使用

Qt Quick Examples - RectangularShadow NeumorphicPanel

演示 RectangularShadow 的用法

Qt Quick Examples - Shader Effects

演示阴影效果使用的Qt Quick 示例

Qt Quick Examples - Shapes

演示形状项用法的Qt Quick 示例

Qt Quick Examples - Text

与文本相关的 QML 示例集

Qt Quick Examples - Views

QML 模型视图示例集

Qt Quick Examples - Window and Screen

该示例演示了 QML 中的 Window 和 Screen 类型

Qt Quick Particles Examples - Affectors

在 QML 粒子系统中使用 Affectors 的示例集

Qt Quick Particles Examples - Emitters

在 QML 粒子系统中使用发射器的示例集

Qt Quick Particles Examples - Image Particles

在 QML 粒子系统中使用 Affectors 的示例集

Qt Quick Particles Examples - System

在 QML 粒子系统中使用情感体的示例集

Qt Quick TableView examples - Conway’s Game of Life

Conway's Game of Life 示例展示了如何使用 QML TableView 类型来显示用户可随意移动的 C++ 模型。

Qt Quick TableViews examples - Pixelator

Pixelator 示例展示了 QML TableView 和委托如何用于自定义表格模型

Qt Widgets - Text Viewer Plugin Example

包含菜单、工具栏和状态栏的 widget 示例。

RHI Window Example

该示例展示了如何使用 QRhi 创建基于 QWindow 的最小应用程序

Raster Window Example

该示例展示了如何使用 QPainter 渲染功能创建基于 QWindow 的最小应用程序

Scene Graph - Custom Geometry

演示如何在Qt Quick 场景图中实现自定义几何体

Scene Graph - Custom Material

演示如何在Qt Quick 场景图中实现自定义材质

Scene Graph - Custom QSGRenderNode

展示如何在Qt Quick 场景图中使用 QSGRenderNode 实现自定义渲染

Scene Graph - Direct3D 11 Under QML

演示如何在Qt Quick 场景下直接使用 Direct3D 11 进行渲染

Scene Graph - Graph

演示如何在单个 QQ QuickItem 下组合自定义材质和几何图形

Scene Graph - Metal Texture Import

演示如何使用直接用 Metal 创建的纹理

Scene Graph - Metal Under QML

演示如何在Qt Quick 场景下直接使用 Metal 进行渲染

Scene Graph - OpenGL Under QML

展示如何在Qt Quick 场景下渲染 OpenGL

Scene Graph - Painted Item

展示如何实现基于 QPainter 的自定义场景图项

Scene Graph - RHI Texture Item

展示如何实现显示 QRhi 渲染纹理的自定义 QQ 快速项目

Scene Graph - RHI Under QML

展示如何在Qt Quick 场景下直接使用 QRhi 渲染

Scene Graph - Threaded Animation

展示自定义项目在使用 QRhi 的线程渲染循环时独立于主线程进行动画的好处Qt Quick

Scene Graph - Two Texture Providers

展示如何在自定义场景图节点中结合来自两个纹理提供商的两种纹理

Scene Graph - Vulkan Texture Import

展示如何使用 Vulkan 直接创建的纹理

Scene Graph - Vulkan Under QML

演示如何在Qt Quick 场景下直接使用 Vulkan 进行渲染

Simple Anchor Layout Example

演示图形视图场景中的锚点布局

Simple RHI Widget Example

演示如何使用 Qt 3D API 和着色语言抽象层 QRhi 渲染一个三角形

Transformations Example

变换示例展示了变换如何影响 QPainter 渲染图形基元的方式

Vector Deformation

演示如何操作 QPainterPath 的元素

Vector Image Example

Qt Quick 示例,演示Qt SVG 、VectorImage 和 svgtoqml 的不同之处

Weather Forecast Example

Qt Quick 图形示例,演示在应用程序中使用图形的不同方法

Wiggly

演示如何使用Qt Quick Effect Maker (QQEM) 创建效果

多媒体

Audio Devices Example

测试可用的音频设备及其配置

Audio Output Example

使用 QAudioSink 类启用音频播放

Audio Recorder Example

发现可用设备和支持的编解码器

Audio Source Example

使用 QAudioSource 类录制音频

Camera Example

演示如何捕捉静态图像或录制视频

Media Player Example

使用 QAudioSink 类播放音频和视频Qt Widgets

QML Camera Application

这个基于Qt Quick 的应用程序展示了如何使用 API 捕捉静态图像或视频

QML Media Player Example

使用 QML MediaPlayer 类型播放音频和视频

QML Video Example

转换视频和相机取景器内容

QML Video Recorder

使用以下工具录制音频和视频Qt Quick

Screen Capture Example

捕捉屏幕或窗口

Spatial Audio Panning Example

展示 Qt 空间音频引擎的部分功能

Video Graphics Item Example

在图形场景中串流视频

Video Widget Example

实现视频播放器部件

3D

Cube OpenGL ES 2.0 example

展示如何通过用户输入手动旋转纹理 3D 立方体

FX & Material Showroom

演示Qt Quick 3D 的材质和特效功能。该示例演示了如何在Qt Quick 3D 中使用粒子效果和材质。

Hello GL2 Example

Hello GL2 示例演示了 Qt OpenGL 提供的相关类的基本使用方法

Hello Qt Quick 3D Example

演示简单的实例绘图

OSM Buildings

OSM(OpenStreetMap)建筑物地图数据的三维建筑物查看器。

Qt 3D: Basic Shapes C++ Example

展示了Qt 3D 提供的四种基本形状,并为每种形状设置了一个网格

Qt 3D: Multi Viewport QML Example

演示从多个视口渲染场景图的 QML 示例

Qt 3D: PBR Materials QML Example

演示如何使用 PBR 材质的 QML 应用程序

Qt 3D: Simple C++ Example

一个 C++ 应用程序,用于演示如何在以下语言中渲染场景Qt 3D

Qt 3D: Simple Custom Material QML Example

演示如何使用 PBR 材质渲染场景的 C++ 应用程序Qt 3D

Qt 3D: Simple QML Example

演示如何用 PBR 材质渲染场景的 QML 应用程序Qt 3D

Qt 3D: Wireframe QML Example

Qt 3D QML 应用程序,实现单程线框渲染方法

Qt Quick 3D - Antialiasing Example

演示Qt Quick 3D 中的抗锯齿模式

Qt Quick 3D - Baked Lightmap Example

演示如何在 3D 场景中使用烘焙光贴图

Qt Quick 3D - Cascaded Shadow Maps Example

演示级联阴影贴图

Qt Quick 3D - Custom Effect Example

演示编写自定义后处理效果

Qt Quick 3D - Custom Geometry Example

演示通过 C++ 和 QML 提供自定义顶点数据

Qt Quick 3D - Custom Instanced Rendering

演示使用自定义材质和 C++ 实例表进行实例化

Qt Quick 3D - Custom Materials Example

演示编写阴影自定义材质

Qt Quick 3D - Custom Morphing Animation

演示使用变形目标编写 C++ 自定义几何体

Qt Quick 3D - Custom Shaders Example

演示如何使用自定义顶点和片段着色器

Qt Quick 3D - Dynamic Model Creation Example

演示动态模型创建

Qt Quick 3D - HelloCube Example

演示如何在Qt Quick 3D 中同时渲染 2D 和 3D 物体

Qt Quick 3D - Instanced Rendering Example

演示如何在Qt Quick 3D 中进行实例渲染

Qt Quick 3D - Introduction

演示如何在Qt Quick 3D 中渲染场景

Qt Quick 3D - Level of Detail Helper Example

演示如何使用细节级别助手

Qt Quick 3D - Lights Example

演示如何使用不同的光线类型

Qt Quick 3D - Morphing Example

演示如何在Qt Quick 3D 中控制变形动画

Qt Quick 3D - Offline Shaders Example

演示如何使用实验性的构建时材质处理支持

Qt Quick 3D - Order Independent Transparency Example

演示Qt Quick 3D 中与顺序无关的透明度

Qt Quick 3D - Particles 3D Testbed Example

演示如何使用Qt Quick 3D Particles3D 模块

Qt Quick 3D - Picking example

演示拾取模型

Qt Quick 3D - Principled Material Example

演示如何使用原理材质

Qt Quick 3D - Procedural Texture Example

演示如何通过 C++ 或 QML 提供自定义纹理数据

Qt Quick 3D - Quick Ball Example

演示如何使用 Quick3D 创建一个简单的游戏

Qt Quick 3D - Quick Items Example

演示如何在 Quick3D 场景中使用Qt Quick 项目

Qt Quick 3D - Reflection Probes Example

演示如何在Qt Quick 3D 中使用反射探针

Qt Quick 3D - RuntimeLoader Example

演示如何在运行时加载资产

Qt Quick 3D - Scene Effects Example

演示如何使用扩展场景环境

Qt Quick 3D - Screen Space Reflections Example

演示Qt Quick 3D 中的反射

Qt Quick 3D - Simple Fog Example

演示如何在 3D 场景中启用雾功能

Qt Quick 3D - Simple Skinning Example

演示如何在Qt Quick 3D 中渲染简单的换肤动画

Qt Quick 3D - Stencil Outline Extension Example

演示如何使用 QtQuick3D 渲染扩展实现模版勾勒

Qt Quick 3D - Sub-mesh Example

演示如何为子模型分配材质

Qt Quick 3D - View3D Example

演示如何使用 View3D 从多个摄像机显示场景

Qt Quick 3D - Volumetric Rendering Example

演示如何在Qt Quick 3D 中进行体积渲染

Qt Quick 3D - XR 3D Interaction example

演示如何使用Qt Quick 3D XR 操作三维对象

Qt Quick 3D - XR Freeform Teleportation Example

演示如何在Qt Quick 3D XR 中实现简单的运动

Qt Quick 3D - XR Physics-base teleportation demo

演示如何在Qt Quick 3D XR 中实现受物理影响的运动。

Qt Quick 3D - XR Simple Example

演示如何使用Qt Quick 3D XR 设置简单的 VR 场景

Qt Quick 3D - XR Simple Input Example

Qt Quick 3D XR 中演示控制器输入

Qt Quick 3D - XR Simple Touch Example

Qt Quick 3D XR 中演示手部跟踪输入

Qt Quick 3D - XR Spatial Anchors Example

演示如何在Qt Quick 3D XR 中使用空间锚点

Qt Quick 3D Physics - Cannon Example

演示如何生成物理对象

Qt Quick 3D Physics - CharacterController Example

演示 CharacterController 类型

Qt Quick 3D Physics - Compound Shapes Example

演示如何使用复杂的碰撞形状

Qt Quick 3D Physics - Custom Shapes Example

演示使用不同形状

Qt Quick 3D Physics - Impeller Example

演示使用触发体和碰撞信息

Qt Quick 3D Physics - Mass Example

演示设置物体质量和惯性的不同方法

Qt Quick 3D Physics - Material Example

演示如何使用物理材料

Qt Quick 3D Physics - Simple Example

演示如何设置简单的物理场景

Virtual Assistant

Qt Quick 使用 QML 和时间轴创建动态动画,并展示虚拟助手 3D 模型的应用程序

数据可视化

Audio Samples vs Sound Level

该示例展示了麦克风采样与音频电平的对比图

Axis Handling

使用 QML 中的自定义输入处理程序实现轴拖动,并创建自定义轴格式化器

Charts with QML Gallery

演示如何使用 qml 来使用不同的图表类型

Charts with Widgets Gallery

演示Qt Charts Widgets API 的应用程序

Cockpit

使用图表模仿飞机驾驶舱的示例应用程序

Graph Gallery

条形图、散点图和曲面图图库

Graph Printing

打印 2D 或 3D 图表

Graphs 2D in Qt Widgets

在基于 Widget 的应用程序中使用 2D 图形

HelloGraphs

Qt Quick 应用程序中使用 2D 图形

Mathematical Equations

可视化数学公式

OpenGL Accelerated Series Example

示例显示如何为 QLineSeries 和 QScatterSeries 启用 OpenGL 加速

Qml Oscilloscope

示例说明如何使用Qt Charts QML API 实现对性能有严格要求的应用程序

Qml Weather

这是一个基本演示,显示如何使用 qml 来使用不同的图表类型

Simple Bar Graph

在 QML 应用程序中使用 Bars3D

Simple Scatter Graph

在 QML 应用程序中使用 Scatter3D

StocQt

100 种股票的可配置股票图表。

Surface Graph Gallery

使用 Surface3D 图形的三种不同方法的图库

Volumetric Rendering

渲染体积对象

Zoom Line Example

示例展示如何创建自己的自定义缩放效果

数据处理和输入/输出

Bindable Properties

演示如何使用绑定属性简化 C++ 代码

Books

演示如何将Qt SQL 类与模型/视图框架结合使用

Cached SQL Table

缓存表示例展示了如何使用表视图访问数据库,缓存对数据的任何更改,直到用户使用按钮明确提交更改为止

Calendar Backend Plugin Example

QCalendar 示例说明了用户提供的自定义日历

Contiguous Cache Example

连续缓存示例展示了如何使用 QContiguousCache 来管理超大模型的内存使用。在某些环境中,内存是有限的,即使在内存有限的情况下,用户仍然不喜欢应用程序使用过多的内存。使用 QContiguousCache 来管理列表,而不是将整个列表加载到内存中,这样无论访问的数据集大小如何,应用程序都能限制内存的使用量。

DOM Bookmarks Application

提供 XML 书签交换语言文件的阅读器

Drill Down Example

Drill Down 示例展示了如何使用 QSqlRelationalTableModel 和 QDataWidgetMapper 类从数据库读取数据并提交更改

Hello Speak Example

Hello Speak 示例读出用户提供的文本

IPC: Shared Memory

演示如何使用共享内存 IPC 机制在不同进程间共享图像数据

MIME Type Browser

展示 MIME 类型的层次结构,并可用于确定文件的 MIME 类型

Mandelbrot

Mandelbrot 示例演示了如何使用 Qt 进行多线程编程。它展示了如何使用工作线程执行繁重的计算,而不会阻塞主线程的事件循环

Master Detail Example

主详情示例展示了如何在同一应用程序中显示来自不同数据源的数据。专辑名称、相应的艺术家和发行日期保存在数据库中,而每张专辑的曲目则保存在 XML 文件中。

Move Blocks

Move Blocks 示例展示了如何使用带有自定义过渡的 QStateMachine 为 QGraphicsScene 中的项目制作动画

Parsing and displaying CBOR data

演示如何解析 CBOR 格式的文件

Ping Pong States

乒乓状态示例演示了如何在Qt State Machine Framework 中将并行状态与自定义事件和转换结合使用

Prime Counter

演示如何监控并发操作的进度

Producer and Consumer using Semaphores

使用 Semaphores 的生产者和消费者示例展示了如何使用 QSemaphore 控制对生产者线程和消费者线程共享的循环缓冲区的访问

Producer and Consumer using Wait Conditions

使用等待条件的生产者和消费者示例展示了如何使用 QWaitCondition 和 QMutex 来控制对生产者线程和消费者线程共享的循环缓冲区的访问

QXmlStream Bookmarks Example

演示如何读写 XBEL 文件

Qt OPC UA Viewer

使用模型/视图方法在树形视图中显示 OPC UA 服务器的所有节点

Qt OPC UA X509 Support

演示如何生成密钥和证书签名请求

Qt Quick Examples - Local Storage

QML 本地存储示例集

Qt Quick Water Pump

与 OPC UA 服务器交互,为简单的水泵机器建立基于 QML 的人机界面

Query Model Example

查询模型示例展示如何使用封装查询的模型和显示结果的表格视图,制作从 SQL 查询中获取的数据的定制版本

Queued Custom Type

队列自定义类型示例展示了如何在具有队列信号和插槽的线程之间发送自定义类型

Quick Speech Example

快速语音示例朗读用户提供的文本

Relational Table Model Example

关系表模型示例展示了如何使用关系模型的表视图来可视化数据库中项目之间的关系

Rogue

Rogue 示例展示了如何使用 Qt State Machine 进行事件处理

SCXML Calculator

实现 SCXML 规范中计算器示例的应用程序

SCXML Invoke

调用已编译的嵌套状态机

SCXML Media Player

向 C++ 数据模型发送数据和从该模型接收数据

SCXML Sudoku

演示如何在 SCXML 中使用单独的 javascript 文件

SCXML Traffic Light (Dynamic, QML)

使用动态加载状态机实现交通灯的Qt Quick 应用程序

SCXML Traffic Light (Dynamic, Widgets)

使用动态加载状态机实现交通信号灯的基于 widget 的应用程序

SCXML Traffic Light (Simple, QML)

使用编译状态机实现简化交通信号灯的Qt Quick 应用程序

SCXML Traffic Light (Static, QML)

使用编译状态机实现交通信号灯的Qt Quick 应用程序

SCXML Traffic Light (Static, Widgets)

使用编译状态机实现交通信号灯的基于 widget 的应用程序

SQL Browser

SQL 浏览器示例展示了如何使用数据浏览器可视化实时数据库中 SQL 语句的结果

SQL Widget Mapper Example

SQL Widget Mapper 示例展示了如何将数据库中的信息映射到表单上的 widget 上

Saving and Loading a Game

如何使用 Qt 的 JSON 或 CBOR 类保存和加载游戏

Serialization Converter

如何在不同序列化格式之间进行转换

Table Model Example

表模型示例展示了如何使用带有表视图的专用 SQL 表模型来编辑数据库中的信息

Traffic Light

交通灯示例展示了如何使用Qt State Machine Overview 实现交通灯的控制流

Undo Framework Example

该示例展示了如何使用 Qt undo 框架实现撤消/重做功能

Water Pump

与 OPC UA 服务器交互,为简单的水泵机器建立基于 QML 的人机界面

Water Pump Simulation Server

实现简单水泵模拟的 OPC UA 服务器

Word Count

演示如何使用 map-reduce 算法

连接性

Annotated URL

读取格式化的 NFC 数据交换格式 (NDEF) 消息

Blocking Receiver

演示如何在非图形用户界面线程中使用 QSerialPort 的同步 API

Blocking Sender

展示如何在工作线程中使用 QSerialPort 的同步 API

Bluetooth Chat

演示如何使用 RFCOMM 协议通过蓝牙进行通信

Bluetooth Low Energy Heart Rate Game

演示与蓝牙低能耗心率设备/服务交互的游戏

Bluetooth Low Energy Heart Rate Server

演示如何设置和宣传 GATT 服务的示例。该示例演示了与外设(从属)功能相关的Qt Bluetooth 低能耗类的使用方法

Bluetooth Low Energy Scanner

用于浏览蓝牙低功耗外围设备内容的应用程序。该示例演示了所有Qt Bluetooth 低能耗类的使用。

CAN Bus Manager

示例发送和接收 CAN 总线帧

D-Bus Chat

演示应用程序实例之间的通信

D-Bus Complex Ping Pong

演示如何使用Qt D-Bus 类型系统

D-Bus Ping Pong

演示使用 D-Bus 的简单消息系统

D-Bus Remote Controlled Car

演示如何使用Qt D-Bus 从另一个应用程序控制汽车

Local Fortune Client

演示如何将 QLocalSocket 用于简单的本地服务客户端

Local Fortune Server

演示如何使用 QLocalServer 和 QLocalSocket 为简单的本地服务提供服务

MQTT Subscriptions

创建与 MQTT 代理通信的应用程序

Modbus Client

示例实现 Modbus 客户端应用程序

Modbus Custom Command

示例演示如何处理自定义 Modbus 功能代码

Modbus Server

示例实现 Modbus 服务器应用程序

Model-View Client

开发一个非常简单的客户端程序,用于显示服务器上的内容和所做的更改

Model-View Server

开发一个简单的服务器程序,用于显示和更改远程对象网络上可用的 QTreeView

NDEF Editor

向 NFC Forum 标签读写 NFC 数据交换格式(NDEF)信息

Qt Quick Publication

使用Qt Quick Controls 创建一个可在 MQTT 主题上发布的应用程序

Qt Quick Subscription

使用Qt Quick Controls 创建可订阅 MQTT 主题的应用程序

QtRemoteObjects WebSockets Applications

利用 QtRemoteObjects 使用非基于 QIODevice 的传输(QWebSocket)

Quick CoAP Multicast Discovery

通过Qt Quick 用户界面使用 CoAP 客户端发现组播资源

Quick Secure CoAP Client

确保 CoAP 客户端安全并通过Qt Quick 用户界面使用它

SSL Server and Client

使用 QSslSockets 建立安全的远程对象网络

Serial Terminal

展示如何使用 QSerialPort 的各种功能

Simple CoAP Client

创建与 CoAP 服务器通信的应用程序

Simple MQTT Client

创建简约的遥测应用程序

Simpleswitch Direct Server and Client

简约的远程对象服务器和客户端

Time Client Application

从服务器获取时间对象副本并在时钟中显示时间的客户端

Time Server Application

与连接的客户端共享时间对象的服务器

WebSockets MQTT Subscription

将 MQTT 客户端与网络套接字连接相结合

联网

A minimal RSS listing application

演示如何获取和显示网络资源

Blocking Fortune Client

演示如何为网络服务创建客户端

Broadcast Receiver

演示如何接收通过本地网络广播的信息

Broadcast Sender

演示如何向本地网络上的多个客户端广播信息

DNS lookup

演示如何使用 QDnsLookup 查询主机名

DTLS client

本例演示如何实现客户端 DTLS 连接

DTLS server

本例演示如何实现简单的 DTLS 服务器

Fortune Client

演示如何为网络服务创建客户端

Fortune Server

演示如何为网络服务创建服务器

HTTP Client

演示简单的 HTTP 客户端

Image Scaling

演示如何异步下载和缩放图像

Lightning Viewer

通过结合Qt Quick,Qt Location,Qt Positioning 和 Qt WebSockets,一个具有响应式 UI 的应用程序可在地图上实时显示雷击情况。

Magic 8 Ball

在 Qt gRPC 客户端和 C++ gRPC 服务器之间创建 HTTP2 连接

Multi-stream Client

演示如何在客户端使用 SCTP

Multi-stream Server

演示如何在服务器端使用 SCTP

Multicast Receiver

演示如何接收发送到组播组的信息

Multicast Sender

演示如何向组播组发送信息

Network Chat

演示有状态点对点聊天客户端

QML WebSocket Client

讲解如何编写 QML WebSocket 客户端示例

QML WebSocket Server

演示如何使用 QML WebSocketServer 的简单示例

Qt Quick Demo - RESTful API client

如何创建 RESTful API QML 客户端的示例。

Reddit Example

演示如何通过 OAuth 2 验证访问 Reddit

SCXML FTP Client

使用状态机实现简单的 FTP 客户端

Secure Socket Client

演示如何通过加密(SSL)连接进行通信

Secure WebSocket Echo Client

使用安全 WebSockets (wss) 的简单客户端应用程序

Secure WebSocket Echo Server

通过安全 WebSockets (wss) 响应客户端的简单服务器

Sensors

传感器示例展示两个应用程序如何通过使用 UDP 套接字发送 protobuf 消息进行通信

Simple WebSocket Chat

使用 WebSocket 协议的最小聊天应用程序

Threaded Fortune Server

线程财富服务器示例展示了如何为一个简单的网络服务创建服务器,使用线程处理来自不同客户端的请求。该示例可与 Fortune 客户端示例同时运行

Torrent Example

演示复杂的 TCP/IP 操作

Vehicle

管理 Qt gRPC 客户端和 C++ gRPC 服务器之间的两个线程连接

WebSocket Echo Client

演示如何编写简单的 WebSocket 客户端程序

WebSocket Echo Server

演示如何编写简单的 WebSocket 服务器应用程序

clientguide

Qt GRPC 客户端指南

定位与位置

GeoJson Viewer (QML)

GeoJson 查看器示例演示如何操作 MapItems、处理用户输入以及 GeoJson 文件的输入/输出

Lightning Viewer

通过结合Qt Quick,Qt Location,Qt Positioning 和 Qt WebSockets,一个具有响应式 UI 的应用程序可在地图上实时显示雷击情况。

Log File Position Source (C++)

Logfile 定位源展示了如何创建和使用自定义定位源。它对于模拟 GPS 数据或以某种自定义格式接收数据时非常有用。

Map Viewer (QML)

地图查看器示例展示了如何显示地图并与之交互、搜索地址以及查找行车路线

MapItemView Transitions (QML)

如何将过渡效果与 MapItemView 结合使用

Minimal Map (QML)

使用最小代码显示地图Qt Quick

Places (QML)

地点示例演示如何搜索地点并访问相关内容

Places List (QML)

地点列表示例演示如何使用 ListView 搜索和显示地点列表

Places Map (QML)

地点地图示例演示如何使用 MapItemView 在地图上搜索和显示地点列表

Plane Spotter (QML)

Plane Spotter 示例展示了位置和定位数据类型与 QML 的紧密集成

Satellite Info

Satellite Info 示例使用 Sky View、Table View 或 RSSI View 显示可用卫星以及用户当前位置。它是通过Qt PositioningQt Quick

Weather Info

Weather Info 示例展示了如何在Qt Quick 的 C++ 插件中使用用户当前位置从网络服务中检索本地内容,使用了Qt Positioning

用户界面组件

Address Book

地址簿示例展示了如何使用代理模型来显示来自单一模型的数据的不同视图

Arrow Pad Example

了解Qt Linguist 上下文概念和使用两种或多种语言

Basic Layouts Example

展示如何使用标准布局管理器

Basic Sort/Filter Model Example

基本排序/过滤模型示例说明如何使用 QSortFilterProxyModel 进行基本排序和过滤

Calculator Example

示例展示了如何使用信号和槽来实现计算器部件的功能,以及如何使用 QGridLayout 将子部件放置在网格中

Calendar Widget Example

日历部件示例展示了 QCalendarWidget 的使用方法

Combo Widget Mapper Example

组合部件映射器示例展示了如何使用自定义委托将信息从模型映射到表单上的特定部件

Completer Example

补全器示例展示了如何根据模型提供的数据为输入部件提供字符串补全功能

Context-Sensitive Help Example

使用 QHelpEngineCore 类为应用程序实现上下文相关帮助

Custom Completer Example

自定义完成器示例展示了如何根据模型提供的数据为输入 widget 提供字符串完成功能。根据用户输入的前三个字符,补全器会弹出可能的单词建议,用户选择的单词会使用 QTextCursor 插入到 TextEdit 中。

Custom Sort/Filter Model Example

自定义排序/过滤模型示例说明了如何子类化 QSortFilterProxyModel 以执行高级排序和过滤。

Draggable Icons Example

Draggable Icons 示例说明了如何在同一应用程序中的部件之间以及不同应用程序之间拖放图像数据

Draggable Text Example

说明如何在部件之间拖放文本

Drop Site Example

示例演示了如何区分拖放操作中可用的各种 MIME 格式

Editable Tree Model Example

该示例展示了如何实现一个简单的基于项目的树形模型,该模型可与模型/视图框架中的其他类一起使用

Fetch More Example

Fetch More 示例展示了如何按需向项目视图模型添加项目

Flow Layout Example

演示如何根据不同的窗口尺寸安排部件

Frozen Column Example

该示例演示了如何冻结 QTableView 中的一列

Getting Started Programming with Qt Widgets

基于Qt Widgets 的记事本应用程序教程

Hello tr() Example

将小型 Hello World 程序翻译成拉丁文

I18N Example

演示 Qt 对翻译文本的支持

Image Gestures Example

演示如何在 widget 中使用简单的手势

License Wizard Example

许可证向导示例展示了如何在 Qt 中实现复杂的向导

Line Edits Example

行编辑示例演示了 QLineEdit 的多种使用方式,并展示了各种属性和验证器对用户提供的输入和输出的影响

Menus Example

菜单示例演示了如何在主窗口应用程序中使用菜单

Models and Views: AbstractItemModel Example

演示如何在 QML 中使用 QAbstractItemModel 子类作为模型

Models and Views: Object ListModel Example

演示如何 在 QML 中使用 QList 作为模型

Models and Views: String ListModel Example

展示如何在 QML 中使用 QStringList 作为模型

Order Form Example

订单表格示例展示了如何通过将简单模板与用户在对话框中输入的数据相结合来生成富文本文档

PDF Multipage Viewer Example

可滚动浏览页面的Qt Quick PDF 浏览器

PDF Single Page Viewer Example

一个Qt Quick PDF 查看器,一次查看一个页面

PDF Viewer Widget Example

允许滚动浏览页面的基于小部件的 PDF 浏览器

QML Dynamic View Ordering Tutorial 1 - A Simple ListView and Delegate

QML Previewer Example

演示如何使用 QWidget::createWindowContainer() 将 QML 与Qt Widgets 应用程序相混合

QQuickWidget - QQuickView Comparison Example

展示了QQuickWidget与作为本地窗口嵌入的QQuickView相比的优势

QRegularExpression Example

QRegularExpression 示例通过提供一个可在自定义文本字符串上创建和测试新正则表达式的环境,展示了 Qt 中的正则表达式如何应用于文本

Qt Quick Controls - Contact List

使用Qt Quick Controls 和 C++ 类实现简单联系人列表的 QML 应用程序

Qt Quick Controls - Event Calendar

一个简单的事件日历

Qt Quick Controls - Gallery

控件画廊

Qt Quick Examples - Pointer Handlers

展示如何在交互式组件中使用Qt Quick 输入处理程序

Qt Quick Examples - Positioners

QML 定位器示例集

Qt Quick I18N

Qt Quick 应用程序生成翻译文件(TS 和 QM

Qt Quick Layouts - Basic Example

演示如何使用布局类型安排用户界面

Qt Quick Layouts - Responsive Layout Example

演示如何使用 LayoutItemProxy 制作响应式用户界面

Qt Quick Widgets Example

演示如何使用 QQuickWidget 类将 QML 与Qt Widgets 应用程序混合使用

Scribble Example

Scribble 示例展示了如何重新实现 QWidget 的某些事件处理程序,以接收为应用程序部件生成的事件

Shortcut Editor Example

快捷编辑器(Shortcut Editor)示例展示了如何创建一个基本的读写分层模型,并与 Qt 的标准视图和 QKeySequenceEdit 类配合使用。有关模型/视图编程的说明,请参阅模型/视图编程概述

Simple Tree Model Example

简单树模型示例展示了如何将分层模型与 Qt 的标准视图类一起使用

Sliders Example

滑块示例展示了如何使用 Qt 中不同类型的滑块:QSlider、QScrollBar 和 QDial

Spin Boxes Example

旋转框示例展示了如何使用 Qt 中提供的多种不同类型的旋转框,从简单的 QSpinBox widgets 到更复杂的编辑器(如 QDateTimeEdit widgets)。

Spreadsheet

电子表格示例演示如何创建一个简单的电子表格应用程序

Spreadsheets Example

演示如何创建电子表格应用程序

Standard Dialogs Example

标准对话框示例展示了 Qt 提供的标准对话框

Star Delegate Example

星形委托示例演示了如何创建一个可自行绘制并支持编辑的委托

Syntax Highlighter Example

语法高亮显示器示例说明如何执行简单的语法高亮显示

Tab Dialog Example

标签对话框示例展示了如何使用 QTabWidget 类构建标签对话框

Tablet Example

该示例演示了如何在 Qt 应用程序中使用 Wacom 手写板

Touch Knobs Example

演示如何创建可接受触摸输入的自定义控件

Translucent Background

示例演示了如何制作具有半透明背景的圆形窗口

Tree Model Completer Example

树形模型补全器示例展示了如何为分层模型提供补全设施,使用句号作为分隔符来访问子代、孙代和外孙代级别的对象

Trivial Wizard Example

简易向导示例说明如何使用三个 QWizardPage 实例和一个 QWizard 实例创建线性的三页注册向导

Troll Print Example

为以后的版本更新翻译

UI Components: Dial Control Example

刻度盘控件示例说明如何创建一个速度计类型的刻度盘

UI Components: Flipable Example

可翻转示例展示了一个项目,该项目可在点击时翻转,并围绕 Y 轴旋转

Widgets Gallery Example

Widgets Gallery 示例显示了与用户界面设计相关的 widgets

Widgets Tutorial - Child Widgets

Widgets Tutorial - Creating a Window

Widgets Tutorial - Nested Layouts

Widgets Tutorial - Using Layouts

Window Flags Example

窗口标志示例展示了如何使用 Qt 中可用的窗口标志

网络技术

HTTP Client

演示了一个简单的 HTTP 客户端

Qt Quick Demo - RSS News

一个 QML RSS 新闻阅读器,它使用 XmlListModel 和 XmlListModelRole 自定义 QML 类型下载 XML 数据,使用 ListModel 和 ListElement 创建分类列表,并使用 ListView 显示数据。

Qt WebChannel ChatClient HTML Example

通过 WebSocket 与 QWebChannel 服务器通信的 HTML/JavaScript 客户端

Qt WebChannel ChatClient QML Application

通过 WebSocket 与 QWebChannel 服务器通信的 QML 客户端

Qt WebChannel ChatServer Example

使用 QWebChannel C++ API 实现的简单聊天服务器

Qt WebChannel Standalone Example

服务器与浏览器中运行的远程客户端之间的简单聊天

Qt WebView Examples - Minibrowser

演示如何使用Qt WebView 模块的迷你浏览器示例Qt Quick

RESTful API Server

使用 QHttpServer 创建 RESTful API 服务器的示例

Recipe Browser

在网页中注入自定义样式表,并为自定义标记语言提供富文本预览工具

Simple HTTP Server

如何设置 HTTP 服务器的简单示例

WebEngine Content Manipulation Example

演示如何加载和操作网页内容

WebEngine Cookie Browser Example

基于Qt WebEngine Widgets 的 cookie 浏览器

WebEngine Lifecycle Example

冻结和丢弃后台标签页,以减少 CPU 和内存使用量

WebEngine Notifications Example

演示如何将 HTML5 网络通知传递给用户

WebEngine Push Notifications Example

演示如何订阅和取消订阅推送通知

WebEngine Quick Nano Browser

使用 WebEngineView QML 类型实现网络浏览器

WebEngine Widgets Client Certificate Example

使用Qt WebEngine 和 QSslServer 实现简单的客户端证书验证方案

WebEngine Widgets Html2Pdf Example

使用 QSslServer 将网页转换为 PDF 文档Qt WebEngine

WebEngine Widgets Maps Example

演示如何处理地理位置请求

WebEngine Widgets Permission Browser Example

演示如何处理网站权限请求和管理现有权限

WebEngine Widgets PrintMe Example

演示如何使用Qt WebEngine Widgets 打印网页

WebEngine Widgets Simple Browser Example

基于Qt WebEngine Widgets 的简单浏览器

WebEngine Widgets Spellchecker Example

将拼写检查程序集成到简单的 HTML 表单中

WebEngine Widgets Video Player Example

使用 QWebEngineView 显示全屏视频

社区示例

要查看和运行 Qt 项目提供的示例,请访问社区示例页面。

所有示例

所有 Qt示例列出了按 Qt 模块分类的所有示例。

© 2025 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.