news 2026/7/18 2:23:11

QCustomPlot绘制曲线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QCustomPlot绘制曲线

QCustomPlot绘制曲线

  • 1、前言
  • 2、下载 QCustomPlot 库
  • 3、在项目中使用QCustomPlot库
    • 3.1 把 QCustomPlot 加入你的 .pro 文件
    • 3.2 UI 里放一个 Widget 并提升为 QCustomPlot
    • 3.3 初始化 QCustomPlot
  • 4、项目文件
    • 4.1 .pro文件
    • 4.2 .h文件
    • 4.3 .cpp文件
  • 5、总结

1、前言

记录一下QCustomPlot绘制曲线的实现方法,方便自己回顾,也可以给有需要的人提供帮助。

2、下载 QCustomPlot 库

先从官网下载QCustomPlot 库

QCustomPlot 库下载链接

把下载好的压缩包解压

进入解压后的压缩包,找到这两个文件

把这两个文件复制粘贴到项目同级目录下

3、在项目中使用QCustomPlot库

3.1 把 QCustomPlot 加入你的 .pro 文件

把PrintSupport 模块添加进来
QT+=core gui printsupport

把前面那两个文件添加到,pro文件中,然后构建
SOURCES+=\ main.cpp \ studyqcustomplot.cpp \ qcustomplot.cpp HEADERS+=\ studyqcustomplot.h \ qcustomplot.h FORMS+=\ studyqcustomplot.ui

3.2 UI 里放一个 Widget 并提升为 QCustomPlot

在Qt Designer(UI)中添加一个QWidget

右键这个QWidget,点击提升为

输入QCustomPlot,接着点击添加

点击提升

可以看到这个QWidget被提升为了QCustomPlot

3.3 初始化 QCustomPlot

添加头文件

绘制曲线
// 生成 100 个 X/Y 点QVector<double>x(100),y(100);for(inti=0;i<100;++i){x[i]=i;y[i]=qSin(i/10.0);// 画一条正弦曲线}// 添加一条曲线ui->widget->addGraph();ui->widget->graph(0)->setData(x,y);// 设置坐标轴范围ui->widget->xAxis->setRange(0,100);ui->widget->yAxis->setRange(-1,1);// 绘制ui->widget->replot();
如下图所示,成功绘制

4、项目文件

为了方便大家参考,把.pro,.h,.cpp文件放在下面了

4.1 .pro文件

QT+=core gui printsupportgreaterThan(QT_MAJOR_VERSION,4):QT+=widgets CONFIG+=c++17#You can make your code fail to compileifit uses deprecated APIs.#In order todoso,uncomment the following line.#DEFINES+=QT_DISABLE_DEPRECATED_BEFORE=0x060000# disables all the APIs deprecated before Qt6.0.0SOURCES+=\ main.cpp \ studyqcustomplot.cpp \ qcustomplot.cpp HEADERS+=\ studyqcustomplot.h \ qcustomplot.h FORMS+=\ studyqcustomplot.ui#Default rulesfordeployment.qnx:target.path=/tmp/$${TARGET}/binelse:unix:!android:target.path=/opt/$${TARGET}/bin!isEmpty(target.path):INSTALLS+=target

4.2 .h文件

#ifndefSTUDYQCUSTOMPLOT_H#defineSTUDYQCUSTOMPLOT_H#include<QWidget>#include<qcustomplot.h>QT_BEGIN_NAMESPACEnamespaceUi{classStudyQCustomPlot;}QT_END_NAMESPACEclassStudyQCustomPlot:publicQWidget{Q_OBJECTpublic:StudyQCustomPlot(QWidget*parent=nullptr);~StudyQCustomPlot();private:Ui::StudyQCustomPlot*ui;};#endif// STUDYQCUSTOMPLOT_H

4.3 .cpp文件

#include"studyqcustomplot.h"#include"ui_studyqcustomplot.h"StudyQCustomPlot::StudyQCustomPlot(QWidget*parent):QWidget(parent),ui(newUi::StudyQCustomPlot){ui->setupUi(this);// 生成 100 个 X/Y 点QVector<double>x(100),y(100);for(inti=0;i<100;++i){x[i]=i;y[i]=qSin(i/10.0);// 画一条正弦曲线}// 添加一条曲线ui->widget->addGraph();ui->widget->graph(0)->setData(x,y);// 设置坐标轴范围ui->widget->xAxis->setRange(0,100);ui->widget->yAxis->setRange(-1,1);// 绘制ui->widget->replot();}StudyQCustomPlot::~StudyQCustomPlot(){deleteui;}

5、总结

以上就是QCustomPlot绘制曲线的整个过程了,浏览过程中,如若发现错误,欢迎大家指正,有问题的可以评论区留言或者私信。最后,如果大家觉得有所帮助的话,可以点个赞,谢谢大家!祉猷并茂,顺遂无虞!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/16 21:10:06

使用Hopfield神经网络解决旅行商问题

使用Hopfield神经网络解决旅行商问题(TSP)。这是一种经典的神经网络优化方法。 Hopfield神经网络基础 Hopfield网络是一种递归神经网络&#xff0c;具有能量函数&#xff0c;能够收敛到局部最小值。 classdef HopfieldNetwork < handlepropertiesnum_neurons % 神经元数…

作者头像 李华
网站建设 2026/7/17 11:14:02

基于STM32的温湿度、甲醛、PM2.5空气质量检测系统全套资料及功能详解

基于STM32的温湿度、甲醛、PM2.5空气质量检测系统采集设计资料&#xff0c;联系赠送答辩模板等全套资料。 主要功能: 使用STM32为主控制器&#xff0c;可采集当前环境下的温湿度、甲醛、PM2.5值&#xff0c;当采集值超过预设阀值时&#xff0c;蜂鸣器自动报警。 采集到的温湿度…

作者头像 李华
网站建设 2026/7/17 7:27:42

40、Linux 软件开发与应用全解析

Linux 软件开发与应用全解析 1. C 源代码编译基础 在编译 C 源代码时,可在 C 预处理器标志(CPPFLAGS)中包含路径选项。同时要记住,可能还需要 -L 链接器标志来配合头文件使用。 若看起来没有缺少某个库,有可能是在尝试为源代码不支持的操作系统进行编译。此时可检查 Ma…

作者头像 李华
网站建设 2026/7/17 8:41:21

Code Llama-7b-hf 代码智能助手:从零开始掌握AI编程神器

Code Llama-7b-hf 代码智能助手&#xff1a;从零开始掌握AI编程神器 【免费下载链接】CodeLlama-7b-hf 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/CodeLlama-7b-hf 还在为重复的编码任务烦恼吗&#xff1f;Code Llama-7b-hf 作为Meta推出的专业代码生成…

作者头像 李华
网站建设 2026/7/16 20:21:30

第7篇 目标检测(上):R-CNN家族的“两阶段”进化史

《人工智能AI之计算机视觉:从像素到智能》专栏 模块二:核心感知(上)——2D世界的精细化理解(模型核心) 第 7 篇 朋友们好。 在上一模块,我们一起拆解了机器视觉的核心引擎——CNN(卷积神经网络)。我们知道,通过卷积、池化这些精妙的操作,CNN能把一张复杂的照片一步…

作者头像 李华
网站建设 2026/7/17 1:57:01

如何快速部署鸿蒙远程投屏工具:HOScrcpy完整使用指南

如何快速部署鸿蒙远程投屏工具&#xff1a;HOScrcpy完整使用指南 【免费下载链接】鸿蒙远程真机工具 该工具主要提供鸿蒙系统下基于视频流的投屏功能&#xff0c;帧率基本持平真机帧率&#xff0c;达到远程真机的效果。 项目地址: https://gitcode.com/OpenHarmonyToolkitsPl…

作者头像 李华