Qt Chart 模块化封装曲线图
一 版本说明

二 完成示例
此文章包含:曲线轴设置,曲线切换,单条曲线显示,坐标轴。。。

三 曲线图UI创建
在UI界面拖放一个QWidget,然后在 Widget里面放一个 graphicsView ![]()

四 代码介绍
1 头文件
#include <QString>
#include <QTimer>
#include <QMessageBox>
#include <QDateTime>
#include <QFile>
#include <QFileDialog>
#include <QDebug>
#include <QFileInfo>
#include <QSerialPortInfo>
#include <QtSerialPort/QSerialPort>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QValueAxis>
#include <QPointF>
#include <QAxObject>
#include <QChartView>
#include <QtMath>
#include <QMimeData>//曲线函数声明 一定要包含
QT_CHARTS_USE_NAMESPACE#define MAX_X (15) //X轴长度
#define X_LEN (15) //X分辨率
#define Y_LEN (10) //Y分辨率#define TEC_MIN_Y (-10) //Y轴最小长度
#define TEC_MAX_Y (85) //Y轴最大长度QTimer *timer1;//用作曲线点定时添加QLabel *label_coordinate;//坐标显示QGraphicsLineItem *x_line, *y_line;//十字线double qcuisition_interval;//采样时间间隔 我这里采用分钟记数,所以一秒钟累加 1.0f / 60.0fdouble record_x_min, record_x_max;//X轴记录点//两条线段
QChart tec_1_2_temperature_chart;
QValueAxis tec_1_2_temperature_axisX, tec_1_2_temperature_axisY;//X轴和Y轴
QLineSeries line_tec_1_2_set_temperature[2], line_tec_1_2_current_temperature[2];//设置温度,实时温度
QString line_tec_1_2_set_temperature_name[2] = {"TEC1设置", "TEC2设置"};
QString line_tec_1_2_current_temperature_name[2] = {"TEC1实时", "TEC2实时"};
QPen line_tec_1_2_set_temperature_clocr[2] = {QColor(237, 28, 36), QColor(181, 206, 212)};
QPen line_tec_1_2_current_temperature_cloor[2] = {QColor(255, 127, 39), QColor(63, 72, 204)};
double tec_1_2_temperature_record_y_min = TEC_MIN_Y, tec_1_2_temperature_record_y_max = TEC_MAX_Y;//记录X,Y位置
double tec_1_2_temperature_count = 0;//记录当采集点
2 cpp文件
2.1 初始化函数
/**
* @brief 曲线图 初始化
* @param char图表类
* @param axisx:X轴
* @param x_name:x轴名字
* @param axisy:Y轴
* @param y_min:Y轴最小长度
* @param y_max:Y轴最大长度
* @param y_name:Y轴名字
* @retval None
*/
void interface_chart::Chart_Init(QChart &chart,QValueAxis &axisx, QString x_name,QValueAxis &axisy, int y_min, int y_max, QString y_name)
{int font_size = 11;QFont font("Microsoft YaHei", font_size);//微软雅黑chart.legend()->setFont(font); // 设置字体及大小chart.setAnimationOptions(QChart::SeriesAnimations);//移动动画//设置坐标轴显示的范围axisx.setMin(0);axisx.setMax(MAX_X);axisy.setMin(y_min);axisy.setMax(y_max);//设置坐标轴上的格点axisx.setTickCount(X_LEN + 1);axisy.setTickCount(Y_LEN);//设置坐标轴字体大小axisx.setTitleFont(font);axisx.setLabelsFont(font);axisy.setTitleFont(font);axisy.setLabelsFont(font);//设置名字axisx.setTitleText(x_name);axisy.setTitleText(y_na相关文章:
Qt Chart 模块化封装曲线图
一 版本说明 二 完成示例 此文章包含:曲线轴设置,曲线切换,单条曲线显示,坐标轴。。。 三 曲线图UI创建 在UI界面拖放一个QWidget,然后在 Widget里面放一个 graphicsView 四 代码介绍 1 头文件 #include <QString> #include <QTimer> #include <QMessa…...
【AI系统】MobileFormer
MobileFormer 在本文中,将介绍一种新的网络-MobileFormer,它实现了 Transformer 全局特征与 CNN 局部特征的融合,在较低的成本内,创造一个高效的网络。通过本节,让大家去了解如何将 CNN 与 Transformer 更好的结合起来…...
python数据分析之爬虫基础:解析
目录 1、xpath 1.1、xpath的安装以及lxml的安装 1.2、xpath的基本使用 1.3、xpath基本语法 2、JsonPath 2.1、jsonpath的安装 2.2、jsonpath的使用 2.3、jsonpath的基础语法 3、BeautifulSoup 3.1、bs4安装及创建 3.2、beautifulsoup的使用 3.3、beautifulsoup基本语…...
uniapp中导入uview或者uview plus
关于SCSS uview-plus依赖SCSS,您必须要安装此插件,否则无法正常运行。 如果您的项目是由HBuilder X创建的,相信已经安装scss插件,如果没有,请在HX菜单的 工具->插件安装中找到"scss/sass编译"插件进行安…...
【LeetCode】122.买卖股票的最佳时机II
文章目录 题目链接:题目描述:解题思路一(贪心算法):解体思路二(动态规划): 题目链接: 122.买卖股票的最佳时机II 题目描述: 解题思路一(贪心算法…...
openGauss开源数据库实战十九
文章目录 任务十九 openGauss DML 语句测试任务目标实施步骤一、准备工作二、INSERT语句三、DELETE语句四、UPDATE语句五、清理工作 任务十九 openGauss DML 语句测试 任务目标 掌握DML语句的用法,包括INSERT语句、DELETE语句和UPDATE语句。 实施步骤 一、准备工作 使用Li…...
恶补英语初级第18天,《询问他人的喜好(上)》
对话 Do you like coffee? Yes, I do. Do you want a cup? Yes, please. Do you want any sugar? Yes, please. Do you want any milk? No, thank you. I don’t like milk in my coffee, I like black coffee. Do you like biscuits? Yes, I do. Do you want one? Yes, …...
centos 报 ping: www.baidu.com: Name or service not known
[rootlocalhost ~]$ ping www.baidu.com ping: www.baidu.com: Name or service not known解决办法: 首先要求检查特定文件(/etc/resolv.conf)内是否正确配置了 DNS sudo vim /etc/resolv.conf没有正确配置可以添加如下代码: n…...
Python:使用随机森林分类器进行模型评估:ROC 曲线与 AUC 指标计算
前言 这段代码的目标是使用 随机森林分类器(Random Forest Classifier) 来进行二分类任务,并基于每个数据子集计算 ROC 曲线(Receiver Operating Characteristic Curve)以及 AUC(Area Under Curve…...
数据库表约束完全指南:提升数据完整性和准确性
数据库表约束完全指南:提升数据完整性和准确性 在数据库设计中,表约束是确保数据完整性和准确性的关键工具。本文将详细介绍各种类型的表约束及其使用方法,包括非空约束、唯一约束、主键约束、外键约束、默认值约束、检查约束以及自动递增约…...
【JavaEE】多线程(6)
一、用户态与内核态 【概念】 用户态是指用户程序运行时的状态,在这种状态下,CPU只能执行用户态下的指令,并且只能访问受限的内存空间 内核态是操作系统内核运行时的状态,内核是计算机系统的核心部分,CPU可以执行所有…...
BERT和RoBERTa;双向表示与单向的简单理解
目录 BERT和RoBERTa大型预训练语言模型 BERT的原理 RoBERTa的原理 举例说明 双向表示与单向的简单理解 除了预训练语言模型,还有什么模型 一、模型类型与结构 二、训练方式与数据 三、应用场景与功能 四、技术特点与优势 BERT和RoBERTa大型预训练语言模型 BERT(Bi…...
Pytorch使用手册-计算机视觉迁移学习教程(专题十三)
在本教程中,你将学习如何使用迁移学习训练一个卷积神经网络进行图像分类。更多关于迁移学习的内容可以参考 CS231n 课程笔记。 引用课程笔记中的内容: 实际上,很少有人从头开始训练一个完整的卷积网络(随机初始化),因为拥有足够大数据集的情况相对罕见。相反,通常会在非…...
Jackson - Java对象与JSON相互转换
在这篇文章中,我将向您展示如何使用Jackson-databind API来实现Java对象与JSON之间的绑定,以及如何将JSON数据转换为Java对象。 对于Java开发者来说,将JSON转换为Java对象及反向操作是一个常见的任务,因此我将通过示例演示如何完…...
怎麼解決路由器IP地址衝突?
路由器IP地址衝突通常發生在網路中有兩個設備嘗試使用相同的IP地址時。這種衝突會導致網路連接問題,因為每個設備需要一個唯一的IP地址才能正常通信。 1. 重啟設備 重啟路由器和設備:有時候簡單的重啟可以解決問題,設備重新獲取一個新的IP地…...
趣味数学 2.3.7 | 完全免费,无注册登录,简约纯净
趣味数学是一款完全免费的数学学习软件,支持安卓系统。它无需登录注册,界面简约纯净,分类详细,涵盖趣味数学、数学初练、应用计算、数字推理、图形推理、数字2048、题目练习和数学知识等多个分类。每个分类包含丰富的题目和关卡&a…...
Oracle ASM特性介绍和增删盘操作
1. 介绍 1.1. 在没有ASM之前ORACLE数据库靠什么去解决存储问题: 裸设备:裸设备就是没有被文件系统格式化的分区或者是直接挂载到操作系统上的磁盘。ORACLE可以直接将数据写入到裸设备中,读写能非常优异。像ORACLE的数据文件、控制文件、REDO日志在过去…...
深度优先搜索迷宫路径
深度优先搜索迷宫路径 问题描述 我们需要编写一个程序,通过深度优先搜索(DFS)找到从迷宫左上角到右下角的一条通路。 迷宫的表示: 迷宫由 0 和 1 构成的二维数组表示。0 表示可以走的路径,1 表示障碍。用户输入迷宫的…...
多媒体技术的 发展阶段----高中信息技术教资面试
上课,同学们好!请坐 在正式上课之前,老师带来 了一段微课视频,请同学们认真观看大屏幕。等下来回答老师的问题。 好,视频播放完成了,现在老师想问问大家。大家从视频中都看到了什么尼?好&…...
行为型设计模式之《责任链模式》实践
定义 责任链模式(Chain Of Responsibility Pattern)顾名思义,就是为请求创建一条处理链路,链路上的每个处理器都判断是否可以处理请求,如果不能处理则往后走,依次从链头走到链尾,直到有处理器可…...
自主飞行控制探索:PX4开源飞控的模块化架构与行业应用价值
自主飞行控制探索:PX4开源飞控的模块化架构与行业应用价值 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot PX4开源飞控系统作为无人机领域的核心解决方案,通过模块化架构设计…...
2025届毕业生推荐的六大AI辅助论文平台解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 它可以助力进行文献梳理,帮助研究者快速筛选出有价值的文献资料,人工…...
SILERGY矽力杰 SY81103ABT NA DC-DC电源芯片
特性 内部MOSFET低导通电阻:顶部80m2,底部40mO 宽输入电压范围:4.5V~18V 最高输出电流3A 1.5%0.6V参考电压 精确的EN阈值 SY81103和SY81103C采用脉冲频率调制(PFM)模式运行 SY81103E和SY81103B的强制连续导通模式(FCCM)操作 内部软启动限制浪涌电流 支持预偏置输出的…...
LFM2.5-1.2B-Thinking-GGUF压力测试与性能调优:寻找最佳并发参数
LFM2.5-1.2B-Thinking-GGUF压力测试与性能调优:寻找最佳并发参数 1. 为什么需要压力测试 当你把LFM2.5-1.2B-Thinking-GGUF模型部署上线后,最担心的问题可能就是:这个服务能承受多少用户同时访问?会不会在高并发时崩溃ÿ…...
读懂 ABAP 调试器里的 ()XVBRP[]:这不是新语法,而是旧式内表加调试器命名表示法的组合
有朋友问我下面这个截图里的变量名是什么语法? 你这张截图里的 ()XVBRP[],结论上并不是一种新的 ABAP 变量声明语法。把它拆开看,更容易理解: XVBRP[] 这一段,核心含义是:XVBRP 是一个带 header line 的旧式内表,而 [] 明确表示你看到的是内表体 table body,不是同名的…...
intv_ai_mk11开源镜像深度解析:为何选择Llama架构+7B规模+Q4量化黄金组合
intv_ai_mk11开源镜像深度解析:为何选择Llama架构7B规模Q4量化黄金组合 1. 为什么选择Llama架构7B规模Q4量化组合 在构建AI对话机器人时,模型架构、参数规模和量化方式的选择直接影响最终效果和部署成本。intv_ai_mk11采用的Llama架构7B参数Q4量化组合…...
OpenClaw跨平台同步:Qwen3.5-9B维护多设备代码仓库
OpenClaw跨平台同步:Qwen3.5-9B维护多设备代码仓库 1. 多设备开发的痛点与解决方案 作为一名自由职业开发者,我经常需要在不同设备间切换工作——家里的台式机、咖啡馆的笔记本、客户现场的平板。最让我头疼的是代码版本管理:在A设备修改的…...
MySQL 故障排查与生产环境优化笔记
一、基础信息1. 实验环境数据库版本:MySQL 8.0架构:1 台单实例 2 台主从复制环境用途:模拟生产故障、验证优化方案2. MySQL 逻辑架构(四层)连接层处理客户端连接、授权认证、权限校验提供线程池、SSL 安全连接服务层S…...
张毕贺的音乐故事《越说越明》
张毕贺的音乐故事,始于一把吉他,成于不懈创作,最终汇成一条连接梦想与大众的河流。他的音乐历程,既是个人才华的绽放,也是对音乐教育与本土文化推广的坚定投入。 音乐之路:从翻唱走红到原创深耕 张毕贺的…...
FLUX.1-dev像素模型部署教程:Docker Compose编排前端+后端+模型服务
FLUX.1-dev像素模型部署教程:Docker Compose编排前端后端模型服务 1. 项目概述 像素幻梦(Pixel Dream Workshop)是基于FLUX.1-dev扩散模型构建的像素艺术生成平台,采用16-bit像素风格设计,为创作者提供沉浸式的AI绘图体验。本教程将指导您使…...
