• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Qt图形图像开发之曲线图模块QCustomplot库生成静态、动态曲线详细教程图解

qt 搞代码 4年前 (2022-01-06) 105次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了Qt图形图像开发之曲线图模块QCustomplot库画静态、动态曲线详细教程图解,需要的朋友可以参考下

Qt曲线图模块QCustomPlot库介绍

QCustomPlot是一个小型的Qt画图标类,支持绘制静态曲线、动态曲线、多重坐标曲线,柱状图,蜡烛图等。只需要在项目中加入头文件qcustomplot.h和qcustomplot.cpp文件,然后使一个widget提升为QCustomPlot类,即可使用。

QCustomPlot官网:

  http://www.qcustomplot.com/

QCustomPlot下载地址:

  http://www.qcustomplot.com/index.php/download 

QCustomPlot帮助文件

QCustomPlot源码包中,有QCustomPlot帮助文件,将其添加进Qt帮助文件,如图,点击添加按钮,在下载的QCustomPlot源码包中找到qch为后缀的文件进行添加。

Qt曲线图模块QCustomPlot库简单例子详解

1.建立Qt工程,将下载的QCustomPlot源码中的qcustomplot.h和qcustomplot.cpp文件复制到项目所在文件夹,如图

2.QtCreater中,右键项目,添加现有文件,如图,选择qcustomplot.h和qcustomplot.cpp添加:

3.在UI界面拖入一个widget,如图

4.UI界面右键widget,点击提升为,选择全局包含,如图

这里强调一下:Qt提升控件时,通常提升的类名称中,每个单词的首字母必须大写【与Qt控件命名规则保持一致,各种第三方控件都采用这种命名格式】,否则无法识别,如这里必须写成QCustomPlot而不能写成Qcustomplot或qcustomplot

另一种简单方法是将被提升类的名称直接复制过来粘贴。

5.选择项目的.pro文件,添加printsupport,如图,QCustomPlot包含了一些打印的东西,如果没有这一步,程序会报错

6.最后一步,编写代码:

头文件:

 #ifndef WIDGET_H #define WIDGET_H #include  #include "qcustomplot.h" namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private: Ui::Widget *ui; }; #endif // WIDGET_H

cpp文件:

 #include "widget.h" #include "ui_widget.h" #include  Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); //设定背景为黑色 //ui->widget->setBackground(QBrush(Qt::black)); //设定右上角图形标注可<mark style="color:transparent">来源gaodaimacom搞#^代%!码&网</mark>见 ui->widget->legend->setVisible(true); //设定右上角图形标注的字体 ui->widget->legend->setFont(QFont("Helvetica", 9)); QVector x(101),y(101); //图形为y=x^3 for(int i=0;iwidget->addGraph(); //设置画笔 ui->widget->graph(0)->setPen(QPen(Qt::blue)); //设置画刷,曲线和X轴围成面积的颜色 ui->widget->graph(0)->setBrush(QBrush(QColor(255,255,0))); //设置右上角图形标注名称 ui->widget->graph(0)->setName("曲线"); //传入数据,setData的两个参数类型为double ui->widget->graph(0)->setData(x,y); QVector temp(20); QVector temp1(20); //图形为y = 100*x; for(int i=0;iwidget->addGraph(); //设置画笔 ui->widget->graph(1)->setPen(QPen(Qt::red)); //设置画刷,曲线和X轴围成面积的颜色 //ui->widget->graph(1)->setBrush(QBrush(QColor(0,255,0))); //传入数据 ui->widget->graph(1)->setData(temp,temp1); /*-------------------------------------------*/ //画动态曲线时,传入数据采用addData,通过定时器多次调用,并在之后调用ui->widget->replot(); //动态曲线可以通过另一种设置坐标的方法解决坐标问题: //setRange ( double position, double size, Qt::AlignmentFlag alignment ) //参数分别为:原点,偏移量,对其方式,有兴趣的读者可自行尝试,欢迎垂询 /*-------------------------------------------*/ //设置右上角图形标注名称 ui->widget->graph(1)->setName("直线"); //设置X轴文字标注 ui->widget->xAxis->setLabel("time"); //设置Y轴文字标注 ui->widget->yAxis->setLabel("temp/shidu"); //设置X轴坐标范围 ui->widget->xAxis->setRange(-20,20); //设置Y轴坐标范围 ui->widget->yAxis->setRange(-1100,1100); //在坐标轴右侧和上方画线,和X/Y轴一起形成一个矩形 ui->widget->axisRect()->setupFullAxesBox(); } Widget::~Widget() { delete ui; }

本文主要讲解了Qt曲线图模块QCustomplot库生成静态、动态曲线详细教程图解,更多前端的相关知识请查看下面的相关链接

以上就是Qt图形图像开发之曲线图模块QCustomplot库生成静态、动态曲线详细教程图解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Qt图形图像开发之曲线图模块QCustomplot库生成静态、动态曲线详细教程图解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址