简述

本文章基于博主在使用QtCharts中一些经验总结,相关了Qt类有QVXYModelMapper,CustomTableModel(一个继承了QAbstractTableModel的类,用于实现自己的model),QScatterSeries与QLineSeries

  • QVXYModelMapper简述与简单功能演示

QVXYModelMapper简述与简单功能演示

简述

QVXYModelMapper类是线,样条线和分散线系列的垂直模型映射器。 
模型映射器可以使用派生自QAbstractItemModel类的数据模型作为图表的数据源。 垂直模型映射器用于创建线,样条线或散点图系列与以列连续保存连续数据点坐标的数据模型之间的连接。模型和系列属性都可以用来操纵数据。 模型映射器使系列和数据模型保持同步。

功能演示

//头文件声明mapper与mapper2等变量
...
//cpp文件
chart = new QChart;
chart->setAnimationOptions(QChart::AllAnimations);//启动chart的所有动画
model = new CustomTableModel;//初始化自定义模型
mapper = new QVXYModelMapper(this);
mapper2 = new QVXYModelMapper(this);
//series 1 系列1
oneSeries = new QLineSeries;//这是一个线性系列
oneSeries->setName("Line 1");
mapper->setXColumn(2);//用model的第三和第四系列来映射
mapper->setYColumn(3);//
mapper->setSeries(oneSeries);
mapper->setModel(model);
chart->addSeries(oneSeries);
......
chartView = new QChartView(chart);
chartView->setRenderHint(QPainter::Antialiasing);

在model数据更新过后

//使用默认的坐标(一定要用不然不会显示图表)
chart->createDefaultAxes();
//使用你自己自定义的坐标轴(使用自定义model中的函数从model中获得行列的最大最小值)
int xmin, xmax, ymin, ymax;
int wjh, dcc;
xmin = model->getXMin();
xmax = model->getXMax();
wjh = (xmax - xmin)/4;
ymin = model->getYMin();
ymax = model->getYMax();
dcc = (ymax - ymin) / 4;
chart->axisX()->setRange(xmin-wjh,xmax+wjh);
chart->axisY()->setRange(ymin-dcc,ymax+dcc);

关于QtCharts中的映射器与模型的使用的更多相关文章

  1. SSM-SpringMVC-07:SpringMVC中处理器映射器

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping BeanN ...

  2. echarts中视觉映射器(visualMap)与时间轴(timeline)混用的实现方法

    1.简述 echarts中的 timeline 组件,提供了在多个 ECharts option 间进行切换.播放等操作的功能. 与其他组件些不同,它需要操作『多个option』. 所以除了基准的ba ...

  3. 3.2Adding custom methods to mappers(在映射器中添加自定义方法)

    3.2Adding custom methods to mappers(在映射器中添加自定义方法) 有些情况下,我们需要实现一些MapStruct无法直接自动生成的复杂类型间映射.一种方式是复用其他已 ...

  4. 带码农《手写Mybatis》进度3:实现映射器的注册和使用

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获!

  5. 第六章 mybatis注入映射器

    为了代替手工使用 SqlSessionDaoSupport 或 SqlSessionTemplate 编写数据访问对象 (DAO)的代码,MyBatis-Spring 提供了一个动态代理的实现:Map ...

  6. java-mybaits-010-mybatis-spring-使用 SqlSession、注入映射器

    一. SqlSession概述 在 MyBatis 中,你可以使用 SqlSessionFactory 来创建 SqlSession.一旦你获得一个 session 之后,你可以使用它来执行映射语句, ...

  7. 值提供器 AND 模型绑定器

    本章介绍了值提供器的作用,ASP MVC自带的5中值提供器.以及模型绑定器的作用,自定义模型绑定器并使用自定义的模型绑定器(类型上加上[ModelBinder(typeof(xx))]或者在全局模型绑 ...

  8. 【长文】Spring学习笔记(七):Mybatis映射器+动态SQL

    1 概述 本文主要讲述了如何使用MyBatis中的映射器以及动态SQL的配置. 2 MyBatis配置文件概览 MyBatis配置文件主要属性如下: <settings>:相关设置,键值对 ...

  9. SpringMVC中注解和非注解方式下的映射器和适配器总结

    1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapte ...

随机推荐

  1. python操作json数据格式--基础

    非常基础的json库的用法,后续添加数据格式.编码等内容 参考文章 json进阶 Python的json模块提供了一种很简单的方式来编码和解码JSON数据. 其中两个主要的函数是 json.dumps ...

  2. block、inode、superblock详解

    Ext2 文件系统 block 原则上,block 的大小与数量在格式化完就不能够再改变了(除非重新格式化): 每个 block 内最多只能够放置一个文件的数据: 承上,如果文件大于 block 的大 ...

  3. PyQt5点击按钮产生新窗体

    import sys from PyQt5.QtWidgets import QApplication,QWidget from form1 import Ui_Form1 from form2 im ...

  4. LR-事务

    一.对事务的理解 在LR中什么是事务,事务是记录从客户端到服务器端,服务器端返回到客户端应答的时间,可以反映出一个操作所用的时间.那么事务的时间主要是由响应时间.事务自身时间.浪费时间(wasted ...

  5. SaltStack的salt-ssh使用及LAMP状态设计部署(五)

    一.salt-ssh的使用 官方文档:https://docs.saltstack.com/en/2016.11/topics/ssh/index.html (1)安装salt-ssh [root@l ...

  6. 使用 JQuery 实现将 table 按照列排序

    使用 JQuery 实现将 table 按照列排序 使用 JQuery 实现将 table 按照列排序 代码如下 <!DOCTYPE html> <html> <head ...

  7. keycloak学习

    keycloak 是一个针对Web应用和RESTfull Web API 提供SSO(Single Sign On:单点登陆),它是一个开源软件,源码地址是:https://github.com/ke ...

  8. ubuntu下让进程在后台运行

    (1)输入命令: nohup 你的shell命令 & (2)回车,使终端回到shell命令行: (3)使用第二第三条,完全屏蔽掉信号 用disown -h jobspec来使某个作业忽略HUP ...

  9. Unity 2D游戏开发教程之摄像头追踪功能

    Unity 2D游戏开发教程之摄像头追踪功能 上一章,我们创建了一个简单的2D游戏.此游戏中的精灵有3个状态:idle.left和right.这看起来确实很酷!但是仅有的3个状态却限制了精灵的能力,以 ...

  10. Prime Number CodeForces - 359C (属于是数论)

    Simon has a prime number x and an array of non-negative integers a1, a2, ..., an. Simon loves fracti ...