简述

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。。。

Qt Charts的更多相关文章

  1. Qt Charts示例

    Qt 5.7 有一些变化,把原来商业版的几个模块用GPLv3协议放到了社区版本里: Qt Charts (GPLv3) Qt Data Visualization (GPLv3) Qt Virtual ...

  2. Qt Charts的简单安装与使用

    http://blog.qt.io/blog/2016/01/18/qt-charts-2-1-0-release/ 下载地址: https://codereview.qt-project.org/# ...

  3. Qt Charts实践

    Qt Charts的横空出世标志着QWT,QCustomPlot .....时代的终结,让我们开始使用QtCharts吧 在Qt 5.7.0中已经集成了Qt Charts模块,需要在安装Qt的时候把C ...

  4. Qt 绘制图表 - Qt Charts版

    一.前言 自从 Qt 发布以来,给广大跨平台界面研发人员带来了无数的福利.但是Qt自己却一直没有提供自带的图表库,这就使得 QWT.QCustomPlot 等第三方图表库有了巨大的生存空间,为了降低开 ...

  5. Linux 中使用 QT Charts 显示温度传感器

    前一篇笔记中实现了QT的Label控件显示CPU的温度,只能显示当前的温度,并不能反映CPU温度的变化情况,现在来实现使用QT Charts的曲线图实现一个实时曲线来显示CPU的温度. 添加对Qt C ...

  6. 学习Qt Charts - 不使用UI的情况下使用QTCharts

    新建一个Qt Widgets Application项目,不添加UI文件,如下图: 建立工程后,在.pro文件中添加: QT += charts 然后在.h文件中添加: #include " ...

  7. 学习Qt Charts - 实时曲线

    1.添加坐标轴 按照之前的一篇文章,先在工程中添加QChart.QChartView,代码如下: Dialog::Dialog(QWidget *parent) : QDialog(parent), ...

  8. 学习Qt Charts - Qt Charts的坐标轴

    这次来学学Qt chart 的坐标轴 有这么一组数据: 这是深圳市2019年6月份的天气预报(来自中国天气网:深圳),里面有每天的最高温度,把这最高温度做成个数组,如下: int daily_temp ...

  9. Qt 之 饼图

    Qt 库由许多模块组成,其中的 Qt Charts,包含了一系列图表组件. 1  饼图 (pie chart) 1.1  Charts 模块 .pro 中添加如下语句: QT += charts 头文 ...

随机推荐

  1. ASP.NET文件的上传下载提交分页

    <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" Auto ...

  2. C#获取百度新歌TOP50

    先上软件效果图 代码如下1.根据Url地址得到网页的html源码 public static string GetWebContent(string Url) { string strResult = ...

  3. ARM家族大检阅

    首先列举下几个名称: 6410 2440 210 A8 ARM9 ARM11 ARMv7 ARMv6 进行分类: 1.芯片名称: 2440 6410 210 2.ARM核: A8 ARM9 ARM11 ...

  4. 06_在web项目中集成Spring

    在web项目中集成Spring 一.使用Servlet进行集成测试 1.直接在Servlet 加载Spring 配置文件 ApplicationContext applicationContext = ...

  5. SQL索引一步到位

    以下均非原创,仅供分享.学习!!! SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? S ...

  6. 7.Constants and Fields

    1.Constants is a symbol that has a never-changing value.  its value must be determinable at compile ...

  7. 指令随笔之:tail、cat、scp、&、&&、;、|、>、>>

    tail(中文意思是跟踪)   tail默认只看文件的最后10行内容,cat则一次显示全部内容 ping 192.168.120.204 > zyx.log &    #  &表 ...

  8. poj 3304线段与直线相交

    http://poj.org/problem?id=3304 Segments Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: ...

  9. 九度-剑指Offer

    二维数组中的查找 分析:既然已经给定了每一行从左至右递增,那么对于每一行直接二分查找即可,一开始还想着每一列同样查找一次,后来发现每一行查找一遍就能够遍历所有的元素了. #include <cs ...

  10. javascript中怎么让一个页面执行多个window.onload?

    我们都知道在javascript中window.onload 只能有一个如果有多个的话后面的会覆盖前面的,今天我们来看看怎么让一个页面执行多个window.onload <script type ...