本页内容

Qt Charts

Qt Charts 模块提供了一套易于使用的图表组件。它利用Qt图形视图框架,将图表与现代用户界面进行集成。Qt Charts 可作为QWidgets、QGraphicsWidget 或QML类型使用。用户只需选择其中一个主题,即可轻松创建令人印象深刻的图表。

注意: 自 Qt 6.10 起,Qt Charts 模块 已被废弃。对于新项目,请改用 Qt Graphs 模块。Qt Graphs 利用各平台的原生渲染后端(macOS 上的 Metal、Windows 上的 DirectX、Linux 上的 OpenGL 或 Vulkan)来实现 2D 和 3D 图表的硬件加速渲染。Qt Graphs 采用 Qt Quick Shapes 进行 2D 图表渲染,而非Qt Charts 模块所使用的过时 Qt Graphics View Framework。若要从Qt Charts 迁移至Qt Graphs 模块,请参阅Qt Graphs Migration fromQt Charts 。

Qt Charts QML API 提供了一种直观且简单的方式,可在您的 QML 应用程序中显示图表。

本示例演示了如何创建一个简单的折线图:

一条上升线达到峰值后趋于平稳的折线图

ChartView {
    title: "Line Chart"
    anchors.fill: parent
    antialiasing: true

    LineSeries {
        name: "Line"
        XYPoint { x: 0; y: 0 }
        XYPoint { x: 1.1; y: 2.1 }
        XYPoint { x: 1.9; y: 3.3 }
        XYPoint { x: 2.1; y: 2.1 }
        XYPoint { x: 2.9; y: 4.9 }
        XYPoint { x: 3.4; y: 3.0 }
        XYPoint { x: 4.1; y: 3.3 }
    }
}

使用该模块

QML API

可通过QtCharts 导入语句使用该模块的 QML 类型。要使用这些类型,请在您的 .qml 文件中添加以下导入语句:

import QtCharts

注意: 由于该模块依赖于 Qt的图形视图框架(Graphics View Framework)进行渲染,因此 QML 类型需要QApplication 的实例 。仅使用QGuiApplication 是不够的。不过,使用Qt Creator 的“Qt Quick ”应用程序向导创建的项目基于Qt Quick 模板,该模板默认使用QGuiApplication 。此类项目中的所有QGuiApplication 实例都必须替换为QApplication 。

C++ API

要使用 Qt 模块的 C++ API,需要与该模块库进行链接,既可以直接链接,也可以通过其他依赖项间接链接。包括CMake和qmake 在内的多种构建工具都为此提供了专门的支持。

使用 CMake 构建

使用find_package() 命令在Qt6 包中定位所需的模块组件:

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

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

使用 qmake 构建

要配置模块以便使用 qmake 进行构建,请在项目的 .pro 文件中将该模块作为QT 变量的值添加:

QT += charts

模块演变

Qt Charts列出了为 Qt 6 系列所做的模块 API 和功能方面的重大变更。

文章与指南

示例

API 参考

许可证

Qt Charts 本软件在The Qt Company 提供的商业许可下发布。此外,它还遵循GNU 通用公共许可证第 3 版。更多详情请参阅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.