简述

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. JAVA——getter setter

    package org.hanqi.pn0120; public class User { private int userid; private String username; private S ...

  2. ProgressDialog 的 使用

    一 . ProgressDialog ProgressDialog是AlertDialog类的一个扩展,可以为一个未定义进度的任务显示一个旋转轮形状的进度动画,或者为一个指定进度的任务显示一个进度条. ...

  3. django 的auth.authenticate返回为None

    使用auth.authenticate(username= username,passowrd=passowrd),这个用户认证时候,明明数据库中有记录,但是返回就None 我的错误点比较多: 1.我 ...

  4. ServiceStack.OrmLite 学习笔记7-复杂点的使用1

    复杂点的使用1 先看看这2个类 class Customer { public int Id { get; set; } ... } class CustomerAddress { public in ...

  5. 关于Docker在测试方面的应用

    Docker 火了很长一段时间了,前段时间简单的学习和试玩了一下子,发现他对测试很有价值,觉得有必要再次深入研究. 这里标记一些较好的学习网址,用作参考: InfoQ上面有系列的文章: 深入浅出Doc ...

  6. [转载] leveldb日知录

    原文: http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html 对leveldb非常好的一篇学习总结文章 郑重声明:本篇博客是自己学 ...

  7. Android listview和ListAdapter搭配使用

    ListView时Android中自带的数据显示控件,要使用ListView填充数据,必须要通过适配器来填充,这里给大家介绍一下ListAdapter适配器,效果图如下: java源码: packag ...

  8. 查看package编译时的错误信息及重新编译

    开发时,一般都是使用PL/SQL工具进行开发,查看编译错误及重新编译都很简单,但是一般的生产环境是不允许连接外界工具的,只能在命令行中进行重新编译及查看,今天我就遇到了这个问题,现在总结如下: 1.获 ...

  9. Object Pascal 运算符

          Object Pascal 的运算符 运算符是程序代码中对各种类型的数据进行计算的符号,通常分为算数运算符.逻辑运算符.比较运算符和按位运算符. 1.算术运算符Object Pascal ...

  10. GO数据库

    Golang 数据库操作 Golang 数据库 MySQL Golang支持DB操作位于database包下,支持基本CRUD操作.事务和Prepared Statement,本文以MySQL为例. ...