QCustomPlot快速应用

一.引言

QCustomPlot 是一款基于 Qt 框架开发的开源二维绘图库,核心优势可总结为三点:

  • 轻量高效:仅需两个文件(qcustomplot.h/qcustomplot.cpp)即可集成,编译后体积小,性能优异;

  • 高度可定制:从折线/柱状/散点到饼图、极坐标图,支持数十种图表类型;坐标轴、图例、网格、颜色等样式可精细控制;

  • Qt 生态无缝衔接:基于 QWidget 开发,天然兼容 Qt 的布局管理、信号槽、多线程等机制,适合嵌入式、桌面端等多场景。

无论是科研实验数据可视化(如传感器时序曲线)、工业监控仪表盘(如实时功率波动图),还是软件业务报表(如用户行为统计柱状图),QCustomPlot 都能通过简洁的 API 快速实现需求。

二.项目部署

要让 QCustomPlot 在 Qt 项目中生效,需完成库引入、工程配置、基础验证三个核心步骤:

1. 库文件获取与结构解析

https://www.qcustomplot.com/官网下载源码(最新的即可),核心文件为:

  • qcustomplot.h:头文件,包含所有类/接口定义;

  • qcustomplot.cpp:源文件,实现绘图逻辑。

将这两个文件放入 Qt 项目的源码目录(如 src/qcustomplot),保持工程内文件层级清晰。

2. Qt 工程配置(.pro文件)

打开项目的 .pro文件,添加对 Qt 模块和 QCustomPlot 的依赖:

# 必选:添加模块
QT += widgets printsupport

# 根据自己的文件位置添加 QCustomPlot 源文件到编译链
SOURCES += $$PWD/src/qcustomplot.cpp  
HEADERS += $$PWD/src/qcustomplot.h
3. 项目添加

QT Creator中加入qcustomplot.h和qcustomplot.cpp;

QT Disgenr中引入Widget组件,将其提升为QCustomPlot

三.功能调整

1.基础设置-仅供参考

//图表1:折线属性
    firstPlot->addGraph(); // blue line
    QPen pen;
    pen.setWidth(2);
    pen.setColor(QColor(40, 110, 255));
    firstPlot->graph(0)->setPen(pen);
    firstPlot->addGraph(); // red line
    pen.setColor(QColor(246, 48, 30));
    firstPlot->graph(1)->setPen(pen);
    firstPlot->graph(0)->setName(QString::fromUtf8(传感器1曲线"));
    firstPlot->graph(1)->setName(QString::fromUtf8("传感器2曲线"));
 //设置该图表的图标标签可见
    firstPlot->legend->setVisible(true);
    //设置图标可鼠标滑动查看
    firstPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables);
    //设置横坐标显示格式为时间轴
    QSharedPointer<QCPAxisTickerDateTime> dateTicker(new QCPAxisTickerDateTime);
    dateTicker->setDateTimeFormat("hh:mm:ss");
    firstPlot->xAxis->setTicker(dateTicker);
    //设置横纵坐标标签
    firstPlot->xAxis->setLabel(QString::fromUtf8("时间"));
    firstPlot->yAxis->setLabel(QString::fromUtf8("数据大小"));
    //添加图表标题
    firstPlot->plotLayout()->insertRow(0);
    firstPlot->plotLayout()->addElement(0,0,new QCPTextElement(firstPlot,"测试曲线",QFont("sans",12,QFont::Bold)));
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值