qml: QtCharts模块得使用(数据整合和显示) ---- <二>
QtCharts目前已经可以免费使用,而且使用非常方便、快捷,并且提供了各种类别的支持(例如:曲线图,柱形图,折线图,饼图等)。
这里讲解qml端图表显示,C++端进行数据整合,并能实现实时数据刷新(该部分参考了StackOverflow上国外网友的经验)。
首先,在pro中要添加charts,widgets,即
Qt += qml quick widgets charts
在main.cpp中,添加头文件 #include <QApplication>( 注, pro中要先添加widgets,不然该头文件下会显示横线,表明找不到),并在main
函数修改为下面的形式:
QCoreApplication app(argc,argv) //在5.0以上版本中默认是这样实现的 修改为: QApplication app(argc,argv)
到这里我们就将基本的东西配置好了,下面分两个部分讲解如何实现实时刷新的图表。
1、qml界面实现;
ChartView用于显示一个图表,可以说相当于容器,在这个区域内我们进行图表绘画,这里可以设定图表的大小,背景颜色,风格等等,不多说。
AbstractSeries是所有图表类的基类,它的直接派生子类为AbstractBarSeries, AreaSeries, BoxPlotSeries, CandlestickSeries, PieSeries, and XYSeries,
通过XYSeries又可以派生出LineSeries, ScatterSeries, and SplineSeries。
AbstractAxis是所有图表轴的基类,派生子类为BarCategoryAxis, CategoryAxis, DateTimeAxis, LogValueAxis, and ValueAxis。
界面设计类似如下:
import QtQuick 2.0
import QtCharts 2.2
ChartView {
id: chartsview;
width: 400
height: 300
theme: ChartView.ChartThemeBrownSand
antialiasing: true ValueAxis{
id: axiasX;
max: 1;
min: 0;
} ValueAxis{
id: axiasY;
max: 1;
min: 0;
} LineSeries{
id: lineseries;
axisX: axiasX;
axisY: axiasY;
} Component.onCompleted: {
DataSource.setSeries(chartsview.series(0));
}
}
注: 该文还没有结束,后续将继续;
qml: QtCharts模块得使用(数据整合和显示) ---- <二>的更多相关文章
- qml: QtCharts模块的使用(基本配置)------<一>
QtCharts模块可以用于绘制图表: 导入模块: import QtCharts 2.2 例子: import QtQuick 2.0 import QtCharts 2.2 ChartView { ...
- QtCharts模块在QtWideget中图表绘制(非QML)
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QtCharts模块在QtWideget中图表绘制(非QML) 本文地址:http:/ ...
- 微软企业库5.0 学习之路——第六步、使用Validation模块进行服务器端数据验证
前端时间花了1个多星期的时间写了使用jQuery.Validate进行客户端验证,但是那仅仅是客户端的验证,在开发项目的过程中,客户端的信息永远是不可信的,所以我们还需要在服务器端进行服务器端的验证已 ...
- 【原创】BI解决方案选型之ETL数据整合工具对比
一.背景 在企业BI平台建设过程中,数据整合始终是一切的基础,简单BI项目可以通过存储过程来实现,而复杂.全面.多方异构数据来源等就大大增加了复杂性,存储过程的可管理性.可维护性.容错性等就无法很好的 ...
- Scikit-Learn模块学习笔记——数据预处理模块preprocessing
preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到 pipeline 过程中. 数据标准化 标准化预处理函数: preprocessing.scale(X, ...
- 用IBM WebSphere DataStage进行数据整合: 第 1 部分
转自:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0602zhoudp/ 引言 传统的数据整合方式需要大量的手工 ...
- 多线程(四) 实现线程范围内模块之间共享数据及线程间数据独立(Map集合)
多个线程访问共享对象和数据的方式 1.如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,买票系统就可以这么做. 2.如果每个线程执行的代码 ...
- 多线程(三) 实现线程范围内模块之间共享数据及线程间数据独立(ThreadLocal)
ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.JDK 1.2的版本中就提供java.lang.ThreadLocal,使用这个工具类可以很简洁地编写出优美的多线程程序,Threa ...
- JavaScript怎么把对象里的数据整合进另外一个数组里
https://blog.csdn.net/qq_26222859/article/details/70331833 var json1 = [ {"guoshui":[ 3000 ...
随机推荐
- 学习Linux系统的态度及技巧
Linux作为一种简单快捷的操作系统,现在被广泛的应用.也适合越来越多的计算机爱好者学习和使用.但是对于Linux很多人可能认为很难,觉得它很神秘,从而对其避而远之,但事实真的是这样么?linux真的 ...
- Linux编译静态库与共享库
静态库: cc -c mod1.c mod2.c //编译 ar r libdemo.a mod1.o mod2.o //生成静态库 cc -c prog.c //编 ...
- Civil 3D 二次开发 名称模板不能正常工作
using Autodesk.AECC.Interop.Land; using Autodesk.AECC.Interop.UiLand; using Autodesk.AutoCAD.Applica ...
- LVS负载均衡群集
概述 群集的类型:无论是哪种服务器,都至少包括两台节点服务器,而对外表现为一个整体,只提供一个访问入口(域名或IP地址),相当于一台大型计算机.根据群集所针对的目标差异,可以分为以下三个类型: 1.负 ...
- 欧拉筛法模板&&P3383 【模板】线性筛素数
我们先来看欧拉筛法 •为什么叫欧拉筛呢?这可能是跟欧拉有关 •但是为什么叫线性筛呢?因为它的复杂度是线性的,也就是O(n),我们直接来看代码 #include<cstdio> #inc ...
- python第三方库 - dateutil
简介 扩展并增强 datetime 模块的功能.支持 Python 2.3+. 官方文档 : http://labix.org/python-dateutil 安装 两种方法: easy_instal ...
- Biorhythms POJ - 1006 中国剩余定理
定理证明:https://blog.csdn.net/d_x_d/article/details/48466957 https://blog.csdn.net/lyy289065406/article ...
- 复习 LIS nlogn
参考:https://www.cnblogs.com/wxjor/p/5524447.html 最长下降只要把符号都倒过来就行 在栈中二分找第一个比当前值小的替换就行
- win10安装MySql 5.7.23
下载安装 因为Django2.1不再支持MySQL5.5,这里需要重新安装一下MySQL 首先去官网下载 这里使用的是msi版本 https://dev.mysql.com/downloads/win ...
- POJ 3667 Hotel(算竞进阶习题)
线段树区间染色 题目要求最大的连续段的左端点,我们在查询的时候返回最左端即可,注意查找顺序,应该从左到右!! 另外这类染色的push_down其实比较简单,直接染成上一层的标记即可 push_up和连 ...