QCustomPlot横坐标为毫秒级的时间轴数据展示的实时刷新数据功能

头文件
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTimer>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();int realtimeDataSlot();
private:Ui::Widget *ui;QTimer* dataTimer;
};
#endif // WIDGET_H
源文件
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);dataTimer = new QTimer(this);ui->customPlot->addGraph();ui->customPlot->graph(0)->setPen(QPen(QColor(40, 110, 255)));//设置x轴格式QSharedPointer<QCPAxisTickerTime> timeTicker(new QCPAxisTickerTime);//设置tick个数timeTicker->setTickCount(10);//毫秒为单位timeTicker->setTimeFormat("%h:%m:%s.%z");ui->customPlot->xAxis->setTicker(timeTicker);ui->customPlot->axisRect()->setupFullAxesBox();//设置Y轴的范围ui->customPlot->yAxis->setRange(-1, 1);//设置x轴为当前时间int nowtime = QTime::currentTime().msecsSinceStartOfDay(); //获取精度为毫秒double key = nowtime;//设置初始坐标轴的x坐标ui->customPlot->xAxis->setRange(key * 0.001, 10, Qt::AlignRight);connect(dataTimer, &QTimer::timeout, this, &Widget::realtimeDataSlot);dataTimer->start(0);
}Widget::~Widget()
{delete ui;
}int Widget::realtimeDataSlot()
{//key, 8, Qt::AlignRightint nowtime = QTime::currentTime().msecsSinceStartOfDay();double key = nowtime;static double lastPointKey;//记录每次刷新数据的时候添加点的个数,此处只想知道时钟滴答准确性,没什么作用static int dataCount;if (key - lastPointKey >= 2) //两毫秒保存一个数据{//产生随机数,注意此处只是把x轴转为秒为单位展示,实际上还是毫秒级别ui->customPlot->graph(0)->addData(key*0.001, QRandomGenerator::global()->bounded(110));lastPointKey = key;dataCount++;}static double lastMoveKey;//下面的逻辑要基于自己的想法实现,主要是多少秒刷一次x轴和移动坐标轴的问题,我的想法是一秒移动一次if(key - lastMoveKey >= 1000){ui->customPlot->xAxis->setRange(key*0.001, 10, Qt::AlignRight); //注意此处设置key点在最右侧//此处需要删除10秒前的数据ui->customPlot->graph(0)->data()->removeBefore(key*0.001-10);lastMoveKey = key;qDebug() << dataCount;dataCount=0;}//y轴自适应ui->customPlot->graph(0)->rescaleValueAxis();ui->customPlot->replot();return 0;
}相关文章:
QCustomPlot横坐标为毫秒级的时间轴数据展示的实时刷新数据功能
头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();int realtime…...
STM32/AT32 MCO管脚输出时钟配置
前言:最近在学以太网通讯,发现RMII接口配置的时钟管脚有MCU自己输出,想要看看是怎么输出的,对此进行记录 1、交接项目项目上使用的是PA8管脚来输出时钟50MHZ,提供给上面refclk。 先看手册 PA8的复用功能具备将MCU时钟…...
“SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价
近年来,国内外学者在生态系统的敏感性、适应能力和潜在影响等方面开展了大量的生态脆弱性研究,他们普遍将生态脆弱性概念与农牧交错带、喀斯特地区、黄土高原区、流域、城市等相结合,评价不同类型研究区的生态脆弱特征,其研究内容…...
【大虾送书第六期】搞懂大模型的智能基因,RLHF系统设计关键问答
目录 ✨1、RLHF是什么? ✨2、RLHF适用于哪些任务? ✨3、RLHF和其他构建奖励模型的方法相比有何优劣? ✨4、什么样的人类反馈才是好的反馈 ✨5、RLHF算法有哪些类别,各有什么优缺点? ✨6、RLHF采用人类反馈会带来哪些局…...
超越函数界限:探索JavaScript函数的无限可能
🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📚 前言 📘 1. 函数的基本概念 📟 1.1 函数的定义和调用 📟 1.2 …...
PHP实现轻量级WEB服务器接收HTTP提交的RFID刷卡信息并回应驱动读卡器显示播报语音
本示例使用的读卡器:RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com) <?php mb_http_output(utf-8); $port88; $socket socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $bool socket_bind($socket, "0.0.0.0",…...
Neo4j之with基础
WITH 语句在 Cypher 查询中用于将之前的查询结果传递给后续的查询操作。它可以用来控制查询的流程,并且常常与其他语句如 MATCH、RETURN、CREATE、DELETE 等一起使用。以下是一些常用的示例和解释: 基本用法: MATCH (p:Person) WITH p RETU…...
60页数字政府智慧政务大数据资源平台项目可研方案PPT
导读:原文《60页数字政府智慧政务大数据资源平台项目可研方案PPT》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 项目需求分析 项目建设原则和基本策略…...
循环神经网络RNN完全解析:从基础理论到PyTorch实战
目录 一、循环神经网络全解1.1 什么是循环神经网络网络结构工作原理数学模型RNN的优缺点总结 1.2 循环神经网络的工作原理RNN的时间展开数学表述信息流动实现示例梯度问题:梯度消失和爆炸总结 1.3 循环神经网络的应用场景文本分析与生成1.3.1 自然语言处理1.3.2 机器…...
【SA8295P 源码分析】52 - 答疑之 QNX 创建镜像、Android修改CMDLINE
【SA8295P 源码分析】52 - 答疑之 QNX 创建镜像、Android修改CMDLINE 一、QNX 侧创建 img 镜像二、QNX 侧指定只编译某一个版本三、Android定制修改selinux权限,user版本采用enforcing,userdebug版本permissive系列文章汇总见:《【SA8295P 源码分析】00 - 系列文章链接汇总》…...
网络安全法律
立法的必要性:网络渗透,网络入侵,网络诈骗,网上钓鱼侵犯知识产权,宣传恐怖主义,极端主义等伤害共鸣利益的行为越发猖狂 信息系统运维安全管理规定(范文)| 资料 过程: 14-16 草案初…...
Redis缓存问题(穿透, 击穿, 雪崩, 污染, 一致性)
目录 1.什么是Redis缓存问题? 2.缓存穿透 3.缓存击穿 4.缓存雪崩 5.缓存污染(或满了) 5.1 最大缓存设置多大 5.2 缓存淘汰策略 6.数据库和缓存一致性 6.1 4种相关模式 6.2 方案:队列重试机制 6.3 方案:异步更新缓…...
网络时代拟态环境的复杂化
信息在网络上的制作、编码、传播机制和传统媒介有本质的区别,即传播者和 受传者的角色交叉,而且互联网本身可看作另一个有别于现实环境的虚拟世界,因 此网络媒介所营造出的拟态环境在一定程度上独立于传统大众传播的拟态环境。 一个是传统…...
湘潭大学 湘大 XTU OJ 1055 整数分类 题解(非常详细)
链接 整数分类 题目 Description 按照下面方法对整数x进行分类:如果x是一个个位数,则x属于x类;否则将x的各位上的数码累加,得到一个新的x,依次迭代,可以得到x的所属类。比如说24,246&#…...
什么是视频的编码和解码
这段描述中,视频解码能力和视频编码能力指的是不同的处理过程。视频解码是将压缩过的视频数据解开并还原为可播放的视频流,而视频编码是将原始视频数据压缩成更小的尺寸,以减少存储空间和传输带宽。在这个上下文中,解码能力和编码…...
LeetCode 2681. Power of Heroes【排序,数学,贡献法】2060
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
AVL树的讲解
算法拾遗三十八AVL树 AVL树AVL树平衡性AVL树加入节点AVL删除节点AVL树代码 AVL树 AVL树具有最严苛的平衡性,(增、删、改、查)时间复杂度为O(logN),AVL树任何一个节点,左树的高度和右树的高度差…...
Unity 之 Input类
文章目录 总述具体介绍 总述 Input 类是 Unity 中用于处理用户输入的重要工具,它允许您获取来自键盘、鼠标、触摸屏和控制器等设备的输入数据。通过 Input 类,您可以轻松地检测按键、鼠标点击、鼠标移动、触摸、控制器按钮等用户输入事件。以下是关于 I…...
亚信科技AntDB数据库连年入选《中国DBMS市场指南》代表厂商
近日,全球权威ICT研究与顾问咨询公司Gartner发布了2023年《Market Guide for DBMS, China》(即“中国DBMS市场指南”),该指南从市场份额、技术创新、研发投入等维度对DBMS供应商进行了调研。亚信科技是领先的数智化全栈能力提供商…...
AMBA总线协议(3)——AHB(一)
目录 一、前言 二、什么是AHB总线 1、概述 2、一个典型的基于AHB总线的微处理器架构 3、基本的 AHB 传送特性 三、AMBA AHB总线互联 四、小结 一、前言 在之前的文章中我们初步的了解了一下AMBA总线中AHB,APB,AXI的信号线及其功能,从本文开始我们…...
快速体验Qwen3-ASR-0.6B:上传音频秒出文字,支持52种语言
快速体验Qwen3-ASR-0.6B:上传音频秒出文字,支持52种语言 1. 模型简介 Qwen3-ASR-0.6B是阿里云通义千问团队推出的开源语音识别模型,专为高效准确的语音转文字任务设计。这个0.6B参数的轻量级模型在精度和效率之间取得了出色平衡,…...
Windows文件完整性验证神器:HashCheck Shell扩展完全指南
Windows文件完整性验证神器:HashCheck Shell扩展完全指南 【免费下载链接】HashCheck HashCheck Shell Extension for Windows with added SHA2, SHA3, and multithreading; originally from code.kliu.org 项目地址: https://gitcode.com/gh_mirrors/ha/HashChec…...
OpenClaw可视化监控:Qwen3-32B任务执行实时看板搭建
OpenClaw可视化监控:Qwen3-32B任务执行实时看板搭建 1. 为什么需要可视化监控? 去年冬天的一个深夜,我被手机警报惊醒——团队的数据处理流程卡住了。登录服务器后发现,OpenClaw正在处理的某个长文本分析任务已经运行了6小时&am…...
PP-DocLayoutV3快速调用:10行Python代码实现文档解析
PP-DocLayoutV3快速调用:10行Python代码实现文档解析 你是不是经常遇到一堆扫描的PDF或者图片文档,想快速提取里面的文字、表格和图片,却不知道从何下手?手动整理不仅费时费力,还容易出错。今天,我就来分享…...
HunyuanVideo-Foley参数详解:采样步数、CFG scale、音频采样率影响分析
HunyuanVideo-Foley参数详解:采样步数、CFG scale、音频采样率影响分析 1. 核心参数概述 HunyuanVideo-Foley作为一款集视频生成与音效生成于一体的AI模型,其输出质量与多个关键参数密切相关。本文将深入解析三个核心参数:采样步数…...
终极ViGEmBus虚拟手柄驱动:Windows游戏控制解决方案完全指南
终极ViGEmBus虚拟手柄驱动:Windows游戏控制解决方案完全指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款专业的Windows内核级…...
JD-GUI完整使用指南:免费Java反编译工具的5大核心功能解析
JD-GUI完整使用指南:免费Java反编译工具的5大核心功能解析 【免费下载链接】jd-gui A standalone Java Decompiler GUI 项目地址: https://gitcode.com/gh_mirrors/jd/jd-gui Java开发者在日常工作中经常会遇到需要分析第三方库、调试未知代码或学习优秀项目…...
OpenClaw+GLM-4.7-Flash:学术论文辅助写作全流程
OpenClawGLM-4.7-Flash:学术论文辅助写作全流程 1. 为什么需要AI辅助学术写作 作为一名经常需要撰写学术论文的研究者,我深刻体会到写作过程中的痛点。从海量文献中筛选关键信息、整理参考文献格式、反复修改论文结构,这些工作往往耗费大量…...
利用快马平台快速生成proteus仿真项目,十分钟搭建arduino温湿度监测原型
作为一名电子爱好者,最近在做一个温湿度监测的小项目。传统方式需要先在电脑上安装Proteus、Arduino IDE等一堆软件,配置起来特别麻烦。后来发现了InsCode(快马)平台,简直打开了新世界的大门——不用安装任何软件,直接在网页上就能…...
sdkman 一键切换 JDK 版本管理工具
👉 这是一个或许对你有用的社群🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 《项目实战(视频)》:从书中学,往事中…...
