简述
Qt Charts模块提供了一套易于使用的图表组件。它采用了Qt Graphics View框架,因此图表可以很容易地集成到现代的用户界面。 Qt Charts可以被用作QWidgets、QGraphicsWidget、或QML类型。用户可以方便地通过选择图表主题之一来创建令人印象深刻的图表。
入门指南
如果要导入Qt Charts QML类型,在你的.qml文件中添加下面的导入语句:
import QtCharts 2.0
如果你打算在应用程序中使用Qt Charts C++类,使用下面的include和using语句:
#include <QtCharts>
using namespace QtCharts;
注意:从Qt Creator 3.0以后,使用Qt Quick Application向导创建的项目,基于Qt Quick 2模板,默认使用QGuiApplication。项目中所有此类QGuiApplication实例必须更换为QApplication,模块依赖于Graphics View Framework的渲染。
要链接到Qt Charts模块,需要在qmake项目文件中添加:
QT += charts
参考资料
- Qt Charts C++ Classes
- Qt Charts QML Types
示例
Qt Charts提供了下面的示例:
示例 | 描述 |
---|---|
AreaChart Example | 这个示例展示了如何创建一个简单的面积图。 |
Audio Example | 这个示例展示了动态数据的图形(麦克风输入)。 |
BarChart Example | 这个示例展示了如何创建一个柱状图。 |
BarModelMapper Example | 这个示例展示了如何使用QAbstractItemModel派生model作为柱状系列的数据。 |
Box and Whiskers Example | 这个示例展示了如何创建一个盒须(box-and-whiskers)图。 |
Callout Example | 这个示例展示了如何在图表上绘制一个额外的元素(callout)。 |
Chart Themes Example | 这个示例展示了不同的内置主题的外观和感觉。 |
Custom Chart Example | 这个示例展示了如何定制图表上不同元素的外观。 |
DateTimeAxis Example | 这个示例展示了如何利用QDateTimeAxis使用QLineChart。 |
Donut Chart Breakdown Example | 这个示例展示了如何使用使用QPieSeries API创建一个圆环分解图。 |
Donutchart Example | 这个示例展示了如何创建一个简单的圆环图,并对其中一片进行定制。 |
Dynamic Spline Example | 这个示例展示了如何绘制动态数据。 |
HorizontalBarChart Example | 这个示例展示了如何创建一个水平柱状图。 |
HorizontalPercentBarChart Example | 这个示例展示了如何创建一个简单的水平百分比柱状图。 |
HorizontalStackedBarChart Example | 这个示例展示了如何创建一个简单的堆叠(stacked)水平条形图。 |
Legend Example | 这个示例展示了如何分离图例以及如何附加回去。 |
LegendMarkers Example | 这个示例展示了如何利用图例标记。 |
Line and BarChart Example | 这个示例展示了如何结合不同的图表以及设置轴线。 |
LineChart Example | 这个示例展示了如何创建一个简单的折线图。 |
Logarithmic Axis Example | 这个示例展示了如何使用QLogValueAxis。 |
Model Data Example | 这个示例展示了如何使用QAbstractItemModel派生模型作为series的数据。 |
Multiple Axes Example | 这个示例展示了如何创建一个有两个垂直轴的简单图表,每个series一个。 |
Nested Donuts Example | 这个示例展示了如何使用QPieSeries API创建一个嵌套的圆环图。 |
OpenGL Accelerated Series Example | 这个示例展示了如何启用OpenGL加速QLineSeries和QScatterSeries。 |
PercentBarChart Example | 这个示例展示了如何创建一个简单的百分比柱状图。 |
Pie Chart Customization Example | 这个示例展示如何定制饼图的外观和感觉。 |
Piechart Drilldown Example | 这个示例展示了如何实现一个有drilldown效果的饼状图。 |
Piechart Example | 这个示例展示了如何创建一个简单的饼状图和并且定制一些饼片。 |
Polar Chart Example | 这个示例展示了如何用多个不同的series创建一个简单的极坐标图。 |
Qml Axes | 这个示例展示了如何在你的QML应用程序使用轴线。 |
Qml Charts Example | 这个示例展示了如何通过使用使用qml使用不同的图表类型。 |
Qml Custom Legend | 这个示例展示了如何创建自定义的图例。 |
Qml Customizations | 这个示例展示了如何定制一个ChartView和series的不同视觉属性。 |
Qml F1 Legends | 这个示例展示了如何使用XmlListModel作为一个图表的数据源。 |
Qml Oscilloscope | 这个示例展示了如何使用Qt Charts QML API来实现严格性能要求的应用程序。 |
Qml Polar Chart | 这个示例展示了如何使用一个极坐标图在你的QML应用程序中。 |
Qml Weather | 这个示例展示了如何使用不同的图表类型通过使用qml。 |
Scatter Interactions Example | 这个示例展示了如何创建一个简单的散布图和交互图以及如何与之交互。 |
ScatterChart Example | 这个示例展示了如何创建一个简单的散布图。 |
SplineChart Example | 这个示例展示了如何创建一个简单的曲线图。 |
StackedBarChart Drilldown Example | 这个示例展示了如何使用一个stacked柱状图来实现drilldown。 |
StackedBarChart Example | 这个示例展示了如何创建一个简单的stacked柱状图。 |
Temperature Records Example | 这个示例展示了如何创建一个带有负图的柱状图。 |
Zoom Line Example | 这个示例展示了如何创建你自己的自定义缩放效果。 |
安装配置
Qt5.7中已经集成了Qt Charts模块,关于Qt的安装配置,请参考:
安装过程中,新添加的一些模块(例如:Qt Charts)默认不被安装,可以根据需要自行勾选:
注意:如果需要使用Qt Charts,请勾选上此模块,否则后期无法使用。
使用
打开Creator,选择:【欢迎】->【示例】,输入“charts”相关的关键字:
选择其中一个示例运行,效果如下:
效果棒棒哒,看起来不比QWT、QCustomPlot等其他图形库逊色,而且支持QML。。。