QT C++ QCustomPlot 简单使用

//本文描述QCustomPlot的简单使用,

//使用QCustomPlot 画曲线分5步

//1.初始化

//2.发送

//3.接收

//4.绑定

//5.重绘

//通常单独的线程发送,发送线程通过emit函数或者wake(WakeOne)函数告诉接收方,

//接收方通常是GUI类的函数,把数据放进vector容器

//定时绑定vector容器和重绘,可以比第2步和第3步慢(因为我们有vector容器装好了的)

//在2、3、4、5步循环往复。

//1.初始化

struct CurveInfo

{

QString nameX;// X轴label

QString nameY;// Y轴label

double minX;//X轴最小

double minY;//Y轴最小

double maxX;//X轴最大

double maxY;//Y轴最大

};

initCurve(QCustomPlot* plot, CurveInfo curveInfo)

{

plot->setBackground(QBrush(QColor(220, 220, 220)));//背景灰

plot->addGraph();

plot->graph(0)->setPen(QPen(Qt::blue));//画笔颜色

plot->xAxis->setLabel(curveInfo.nameX);//X轴颜色

plot->yAxis->setLabel(curveInfo.nameY);//Y轴颜色

// 支持鼠标拖拽轴的范围、滚动缩放轴的范围,左键点选图层(每条曲线独占一个图层)

plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables);

plot->xAxis->setRange(curveInfo.minX, curveInfo.maxX);

plot->yAxis->setRange(curveInfo.minY, curveInfo.maxY);

// 设置坐标系格栅背景

// plot->xAxis->grid()->setPen(QPen(Qt::darkGreen));

// plot->yAxis->grid()->setPen(QPen(Qt::darkGreen));

plot->xAxis->grid()->setSubGridVisible(true);//X栅格可见

plot->yAxis->grid()->setSubGridVisible(true);/Y栅格可见

//坐标内背景

plot->axisRect()->setBackground(QBrush(QColor(30, 30, 30)));

plot->replot();

}

//2.发送

//用信号的emit函数或者QwaitCondition的wakeOne()函数

//3.接收

//如果使用QwaitCondition,那么要单独搞个接收线程,GUI是不太可能有死循环的。

//4.绑定

//绑定函数的原型是,第1个参数是横轴对应容器,第2参数是纵轴对应容器,第三个参数可不写

void setData(const QVector<double> &keys,

const QVector<double> &values,

bool alreadySorted=false

);

//5.重绘

//重绘函数的原型是

void replot();

其余可参考

QCustomPlot 曲线各种属性设置介绍_customplot在曲线上添加实心圆点-CSDN博客CustomPlot 曲线各种属性设置介绍_customplot在曲线上添加实心圆点-CSDN博客QCustomPlot 曲线各种属性设置介绍_customplot在曲线上添加实心圆点-CSDN博客

相关推荐
.Vcoistnt2 分钟前
Codeforces Round 994 (Div. 2)(A-D)
数据结构·c++·算法·贪心算法·动态规划
小k_不小9 分钟前
C++面试八股文:指针与引用的区别
c++·面试
摇光9316 分钟前
js高阶-async与事件循环
开发语言·javascript·事件循环·宏任务·微任务
沐泽Mu18 分钟前
嵌入式学习-QT-Day07
c++·qt·学习·命令模式
沐泽Mu19 分钟前
嵌入式学习-QT-Day09
开发语言·qt·学习
小猿_0024 分钟前
C语言实现顺序表详解
c语言·开发语言
ALISHENGYA27 分钟前
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(实战训练三)
数据结构·c++·算法·图论
余~~185381628001 小时前
NFC 碰一碰发视频源码搭建技术详解,支持OEM
开发语言·人工智能·python·音视频
GOATLong1 小时前
c++智能指针
开发语言·c++