QT之QCustomPlot(一)】的更多相关文章

简述 QCustomPlot是一个基于Qt C++的图形库,用于绘制和数据可视化 - 制作漂亮的2D图 - 曲线图.趋势图.坐标图.柱状图等,并为实时可视化应用程序提供高性能服务.它没有进一步的依赖关系,并有着良好的文档记录. QCustomPlot可以导出为各种格式,比如:PDF文件和位图(如:PNG.JPG.BMP). 可在自己的项目中直接使用两个源文件(qcustomplot.h与qcustomplot.cpp),或预先编译成库. 简述 下载 配置 文档 集成到QtCreatorAssis…
最近一个用Qt开发的项目需要绘制坐标曲线,我在老师的指点下使用了QCustomPlot这个插件,使用方法简单,功能还算不错. 可是在网上找了很多资料和博文都只是将官方提供的例子演示一遍,没有系统全面的学习资料,所以我决定把自己在探索过程中获得的一些开发实例和经验分享出来,与大家共同学习交流,请各位朋友多多指教. 一.QCustomPlot的安装 官方下载地址:http://www.qcustomplot.com/index.php/download 推荐下载第一个链接,里面有很多官方给的例子可以…
一.入门 1.下载源文件http://www.qcustomplot.com/: 2.把.cpp和.h放在工程目录下,并将cpp和h加入工程: 3.在.pro中:QT += printsupport: 4.在ui中添加一个Widget,右键提升为,输入:QCustomPlot,改变对象名称为customPlot: 5.加入代码: void MainWindow::initUi() { QVector<double> x(101), y(101); // initialize with entr…
一.新建一个widget工程 二.将Qcustomplot文件复制到项目下 三.右键qt项目增加已存在的文件 四.在.pro中添加 QT += widgets printsupport 五.在.h中添加声明 private: QCustomPlot *myPlot; 六.在.cpp中的构造函数中添加 myPlot = new QCustomPlot(this); ,); myPlot->resize(,); // generate some data: QVector<), y(); // i…
0.说明 本节翻译总结自:Qt Plotting Widget QCustomPlot - User Interactions 本节内容是使用QCustomPlot实现绘图和用户交互功能. 本文代码中的变量customPlot是QCustomPlot类型的指针,实际使用时,应当用ui->customPlot,表示UI界面中用于绘图的QCustomPlot. QCustomPlot提供了多种内置的用户交互方法,这些方法可以分类归纳如下: 范围调整:通过鼠标拖拽或者鼠标滚轮实现: 选择要素:通过鼠标…
0.说明 本节翻译总结自:Qt Plotting Widget QCustomPlot - Basic Plotting 本节内容是使用QCustomPlot进行基本绘图. 本节教程都使用customPlot这个变量,它是一个指向QCustomPlot实例的指针,当然,在我们的项目中,我们更可能是通过ui->customPlot来访问这些QCustomPlot实例. 1.基本用法 1.1.创建新画布 customPlot -> addGraph(); 每个Graph及其上的线构成一幅图. 1.…
0.说明 本节翻译总结自:Qt Plotting Widget QCustomPlot - Setting Up 本节的内容是讲如何配置QCustomPlot,而QCustomPlot的具体用法可以看后续章节. 1.下载 去Qt Plotting Widget QCustomPlot - Download下载需要版本的QCustomPlot的压缩包QCustomPlot.tar.gz,下载解压后会得到qcustomplot的.cpp与.h文件,这两个文件是我们需要的. 2.添加到项目 ①把这两个…
怎么设置X,Y轴位置 Manages a single axis inside a QCustomPlot. Usually doesn't need to be instantiated externally. Access QCustomPlot's default four axes via QCustomPlot::xAxis (bottom), QCustomPlot::yAxis (left), QCustomPlot::xAxis2 (top) and QCustomPlot::y…
QDetectPlot::QDetectPlot(QWidget *parent) : QCustomPlot(parent) { QVector<), y(); // initialize with entries 0..100 ; i<; ++i) { x[i] = i/; // x goes from -1 to 1 y[i] = x[i]*x[i]; // let's plot a quadratic function } //以上用于产生模拟点 addGraph(); //可以看实现…
简介 "我们来自Qt分享&&交流,我们来自Qt Quick分享&&交流",不管你是笑了,还是笑了,反正我们是认真的.我们就是要找寻一种Hold不住的状态,来开始每一天的点滴分享,我们是一个有激情,有态度的部队. 但是我们还是我们,我们只是多了一份责任.古语有云:"不积跬步无以至千里,不积小流无以成江海",所以每一个伟大事务的产生都不是一蹴而就的.现在我们要立足眼下,把第一站放在地球,"<Qt 实战一二三>&quo…
VS安装QT后运行环境所需配置 安装好QT和QT在VS下的插件之后: 1.打开VS,找到QT5→QT Option,如下: 2.配置电脑环境变量,在系统变量→Path下增加QT的动态库所在文件夹,也就是bin文件夹路径: QT使用QCustomplot库 官网下载:http://www.qcustomplot.com/ 直接下载QCustomplot,然后把.h文件和.cpp文件添加到工程即可. QT使用QwtPlot库 官网下载:http://qwt.sourceforge.net/ 打开VS…
1.概述 QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己使用两个源文件也可以自己编译成库文件,非常方便. 官方网站:http://www.qcustomplot.com/ 1.0下载地址:http://download.csdn.net/detail/czyt1988/5986701 下面展示一下它的超强功能: 1.安装 使用QCustomPlot非常简…
QCustomPlot是一个开源的基于Qt的第三方绘图库,能够绘制漂亮的2D图形. QCustomPlot的官方网址:https://www.qcustomplot.com/ 从官网下载QCustomPlot的源文件,包括qcustomplot.h和qcustomplot.cpp.   本程序的源码下载地址: https://github.com/xiongxw/XCustomPlot.git     1 自定义鼠标显示跟随类XxwTracer和XxwTraceLine: XxwTracer用于…
第一步.QcustomPlot是QT提供的一个第三方库,在使用前需要在QcustomPlot官网上进行下载. 第二步.把解压完的QcustomPlot压缩包中的qcustomplot.h和qcustomplot.cpp文件添加到工程文件中来.使用时应先在源文件处点击添加现有文件,把这两个文件添加进来. 第三步.打开UI界面,把weiget控件添加到界面里,然后右键点击控件,选择提升 在提升的类名上写QcustomPlot,最后点击提升即可. 这样QcustomPlot这个第三方库就可以使用了.…
一.前言 上次在写大屏数据可视化电子看板系统时候,提到过改造QCustomPlot来实现柱状分组图.横向柱状图.横向分组图.鼠标悬停提示等.这次单独列出来描述,有很多人疑问为啥不用QChart,或者echart等形式,其实这两种方式我都尝试过,比如Qt5.7以后新增的QChart模块,曲线这块,支持数据量很小,而且用法极其不适应,非常别扭,尤其是10W以上数据量的支持,简直是渣渣,优点也是有很多的,比如动画效果,我看过他的完整源码,动画这块处理的非常好,连坐标轴都可以有动画效果,而且支持很多种效…
在QcustomPlot中,给横纵坐标添加箭头的方法 //在末尾添加箭头 customPlot->xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow); customPlot->yAxis->setUpperEnding(QCPLineEnding::esSpikeArrow); 怎么给图画虚线的方法 //设置虚线QPen linesPen(Qt::red,,Qt::DashLine); line = new QCPItemStrai…
一.软件下载 下载地址:http://www.qcustomplot.com/index.php/download 这里推荐下载第一个链接的内容: 注:这里的第三方库要放在非中文目录下. 二.配置 (1).新建工程,并且添加头文件qcustomplot.h和源文件qcustomplot.cpp. (2).在工程pro文件末尾添加printsupport: greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport (3).进入图形设计…
这个小部件类,对于QCustomPlot的所有方面都有所体现 下面阅读它的函数: 函数组织顺序为: 基本设置---添加图线---删除图线---添加额外Item---层次管理---坐标轴管理----导出图表 QCustomPlot (QWidget *parent=0) void     setViewport (const QRect &rect)//视口设置,通常就是本部件所在的长宽void     setBackground (const QPixmap &pm)//在整个视口的最底层…
一.前言 为了抛弃对QChart的依赖,以及echart的依赖,(当然,后期也会做qchart的版本和echart的版本,尤其是echart的版本是肯定会做的,毕竟echart的效果牛逼的一塌糊涂,全宇宙最牛逼吧.)特意对QCustomPlot进行了大刀阔斧的改造,当然这个改造不是直接在源码上修改,这个就破坏了源码的完整性,说不定被QCustomPlot的作者知道了有种被QJ的感觉,我得改造是直接继承QCustomPlot中的部分类开始的,比如为了实现横向柱状图,特意继承自QCPItemRect…
一.分层绘制 一直说要讲2.0.0版本,但总是想把1.3.2版本拿出来比较一下,这篇文章也不例外.QCustomPlot2.0.0beta版本比1.3.2release版本有一个很大的改进那就是分层绘制,所谓分层绘制就是把一张图分几张图来绘制,最后在把这分开的几张图统一绘制到一张图上,比如一张图A,需要分开成3张图B.C和D来绘制,当图A需要重新绘制时,我们一次判断B.C和D是否需要重新绘制,如果不需要绘制的我们直接把图贴到A上,那就很大的减少了重新绘制的时间,而这部分时间其实是没有必要花费的.…
QCustomPlot 是一个比较小的 QT 图表插件.使用时,我们在程序中写完相关调用的代码后,只需将 QCunstomPlot.cpp 和 QCustomPlot.h 两个文件加入工程,正常编译即可.看起来使用挺方便.对于简单的,效率不高的数据可视化需求,基本能满足.这里把使用该插件的一些经验做简单记录. 1. 插件的声明 QCustomPlot 的官方文档里,只介绍了在 QT Designer 中 prompt 插件的方法,如果是使用可视化窗口设计界面,这样就足够了.但是,如果用纯代码来设…
最新版可执行文件 http://pan.baidu.com/s/1i491FQP 不定期增加控件及修正BUG和改进算法. 总图: 1:动画按钮 * 1:可设置显示的图像和底部的文字 * 2:可设置普通状态图片 * 3:可设置进入状态图片 * 4:可设置离开状态图片 * 5:按照比例自动居中绘制 2:柱状标尺控件 * 1:可设置精确度(小数点后几位)和间距 * 2:可设置背景色/柱状颜色/线条颜色 * 3:可设置长线条步长及短线条步长 * 4:可启用动画及设置动画步长 * 5:可设置范围值 * 6…
现在的web发展越来越快,很多流行的布局样式,都是从web开始的,写惯了Qt widgets 项目,很多时候想改进一下现有的人机交互,尤其是在现有的按钮上加一些动画的效果,例如鼠标移上去变大,移开还原. Qt编写自定义控件还是非常方便和非常强大的,数量掌握Qpainter的各种绘制,自定义任意控件几乎都不是难题,只有想不到,没有做不到. 贴一张个人认为做的比较炫的UI界面: 如果工控项目的界面能够做到这种程序,应该可以让人眼前一亮. 运行效果图: 核心代码: void AnimationButt…
从2010年进入互联网+智能手机时代以来,各种各样的APP大行其道,手机上面的APP有很多流行的元素,开关按钮个人非常喜欢,手机QQ.360卫士.金山毒霸等,都有很多开关控制一些操作,在Qt widgets应用项目上,在项目中应用些类似的开关按钮,估计也会为项目增添不少新鲜感. 总结了大部分的开关按钮控件,基本上有两大类,第一类是纯代码绘制,这种对代码的掌控度要求比较高,但是灵活性比较好.第二类是贴图,专业的美工做好的各种状态的背景图片,只需要用代码将该图片画到界面上即可.为了能够涵盖两大类的开…
一.概述 前边已经写了5篇对QCustomPlot的讲解,看过上述的几篇文章后,基本就能做一些简单的使用了,但是如果想要做到高度的控制图表,那么坐标轴将是很重要的一部分,因为坐标轴就是图表的一个参考系,没有了参考系那么一切都是天方夜谭.关于QCustomPlot的坐标轴我还是会按照之前的套路,首先对比1.3.2版本和2.0.0beta版本,然后在深入的去分析坐标轴使用. 二.历史版本对比 首先我需要和大家伙说明下,我个人觉着在QCustomPlot的定制过程中,坐标轴定制算是比较困难的,因为坐标…
一.历史对比 关于QCPLayoutElement这个元素的讲解之前,我想先对1.3.2release版本和2.0.0beta版本的该元素做以简单的对比介绍,首先,1.3.2release版本时,鼠标单击时,如果按下的位置是一个布局元素,那么QCustomPlot首先会把这个事件回调给该被点击的元素,并且mouse系列的方法都是这样传递给QCPLayoutElement对象,该布局元素的声明会像这样QPointer<QCPLayoutElement> mMouseEventElement:但是…
一.QCustomPlot简介 之前在Qt之自绘制饼图这篇文章的说明中我简单的描述了下目前依赖于qt的第三方绘图库,此后我会针对自己使用QCustomPlot的情况做一总结,以方便大家参考 QCustomPlot的官方网址:Qt Plotting Widget QCustomPlot - Introduction QCustomPlot的源码只有2个文件,所以添加供自己的工程师特别方便,或者你自己把这两个文件编译成静态库.动态库的形式都行. 二.效果预览 如图1是我自己把官方的示例代码融合在一起…
一.头文件概述 从这篇文章开始,我们将正式的进入到QCustomPlot的实践学习中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCustomPlot的目录下documentation/qcustomplot下寻找一个名字叫做index.html的文件,将其在浏览器中打开,也是可以找到这个库的类图.如图1所示,是组成一个QCustomPlot类图的可能组成形式. 一个图表(QCustomPlot):包含一个或者多个图层.一个或多个ite…
一.是什么 说起图,大家一下就可能想到折线图.柱状图和饼图等,但是除了这些显眼的东西以外其实还有很多东西辅助的存在着,有了这些辅助的东西图才会看起来有意义,或者说更加的真实.有说服力.这些东西都包括那些呢?首先坐标轴肯定是不能少了的,还有网格线.图例和示意说明等.这一节我们就重点来围绕这个示意说明也就是QCPAbstractItem来做以解释 二.效果图 这里我将首先贴张效果图,主要是为了展示QCPAbstractItem的用途,有需要的同学可以深入的了解下.图上出了一条折线之外,还有坐标轴.网…
简述 Qt Charts模块提供了一套易于使用的图表组件.它采用了Qt Graphics View框架,因此图表可以很容易地集成到现代的用户界面. Qt Charts可以被用作QWidgets.QGraphicsWidget.或QML类型.用户可以方便地通过选择图表主题之一来创建令人印象深刻的图表. 简述 入门指南 参考资料 示例 安装配置 使用 入门指南 如果要导入Qt Charts QML类型,在你的.qml文件中添加下面的导入语句: import QtCharts 2.0 如果你打算在应用…