简述

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. .Net自帶Ajax和GridView

    如圖所示,在新建web窗體后的工具欄中有一個 AJAX擴展 ScriptManager 在整個網頁中有且只有一個,使用母版頁和用戶控件中尤為注意, 例如在嵌套母版頁和用戶控件時只在最外層加上Scrip ...

  2. .Net母版页

    母版页:MasterPage 母版页不是独立的,它是与用户控件一起来使页面结构更加优化. 从粗到细,逐步细化各级页面的模板结构.到页面中只需完善其不同之处即可,相同之处都放在各级母版页中实现了. We ...

  3. uTenux——LED驱动讲解

    LED驱动讲解,对于一个嵌入式的工程师还是一个刚开是学习相关电子设计的朋友,对于LED的驱动问题应该不甚陌生.我所说的LED驱动并不是类似大功率LED照明的那个驱动,而是简单的控制器对LED的控制驱动 ...

  4. CodeForces 483B Friends and Presents

     Friends and Presents Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...

  5. <转>32位移植到64位 注意事项

    32bit-64bit porting work注意事项 64位服务器逐步普及,各条产品线对64位升级的需求也不断加大.在本文中,主要讨论向64位平台移植现有32位代码时,应注意的一些细小问题. 什么 ...

  6. ARC 下处理内存暴涨的一个解决办法

    有一种情况: ; i < ; i++) { NSString *s = @"ABC"; s = [s lowercaseString]; s = [s stringByApp ...

  7. FLASH CC 2015 CANVAS (五)loading的制作

    注意 此贴 为个人边“开荒”边写,所以不保证就是最佳做法,也难免有错误! 正式教程会在后续开始更新 AS3的loading一般我们都写在时间轴第一帧,但是FLASH CC CANVAS的导出项目的lo ...

  8. scala中如何编写自定义的流程控制结构

    scala是一种函数式编程风格的语言,除了常见的if......else  ,for ,while等传统的流程控制结构,也可以自定义流程控制的控制结构. 再了解scala如何实现编写新的流程结构,我们 ...

  9. Oracle VM VirtualBox 虚拟机与主机共享文件

    安装增强功能(参考文档) VirtualBox自带了一个增强工具Sun VirtualBox Guest Additions,这是实现虚拟机与真实主机共享的关键.启动虚拟机后,点击控制菜单“设备”→“ ...

  10. 2013 Multi-University Training Contest 9

    HDU-4687 Boke and Tsukkomi 题意:给定一个简单图,询问哪些边如果选择的话会使得最大的连边数减少. 解法:套用一般图的最大匹配算法(带花树)先算出最大匹配数,然后枚举一条边被选 ...