简述

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. 编写一个类A,该类创建的对象可以调用方法f输出小写的英文字母表。然 后再编写一个A类的子类B,要求子类B必须继承类A的方法f(不允许重写), 子类B创建的对象不仅可以调用方法f输出小写的英文字母表,而且可以调用子 类新增的方法g输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。

    package zimu; public class A { public void f() { for (int i = 97; i <123; i++) { System.out.print ...

  2. Eclipse中没有andriod问题解决方法

    按照网上教程<andriod+环境搭建_图文版>进行安装android,结果,在eclipse中window->preference下找不到"Android"选项 ...

  3. Cheatsheet: 2013 09.22 ~ 09.30

    Other Python basics summary Another article about big O notation Mobile Getting Started with PhoneGa ...

  4. __declspec关键字详细用法

    __declspec关键字详细用法 __declspec用于指定所给定类型的实例的与Microsoft相关的存储方式.其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI ...

  5. 【转载】nedmalloc结构分析

    原文:nedmalloc结构分析 nedmalloc是一个跨平台的高性能多线程内存分配库,很多库都使用它,例如:OGRE.现在我们来看看nedmalloc的实现 (以WIN32部分为例)    位操作 ...

  6. libreoffice实现WORD文档转PDF文档

    一.安装LibreOffice 官网:http://www.libreoffice.org/ 二.CentOS安装yum yum install libreoffice 三.执行转换命令 libreo ...

  7. POSTMAN中各种请求方式的区别

    1.form-data:  就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件.当上传的字段是文件 ...

  8. ASP.NET四则运算--工厂模式

    这次是在ASP.NET上实现四则运算,之前用策略模式实现了,所以这次想着用工厂模式实现一下. Calculator.cs using System; using System.Collections. ...

  9. [JAVA设计模式]第四部分:行为模式

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  10. ios uiview封装动画(摘录)

    iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...