Qt展示动态波形

news2024/12/25 13:46:06

Qt展示动态波形

  • 需求描述
  • 成品展示
  • 实现难点
    • Qt多线程

需求描述

  1. 接入串口,配置串口顺序进行接收数据;
  2. 数据分成两个串口分别传入,使用多线程并发接入;
  3. 时域数据有两个通道(I,Q),分别以实时波形展示;
  4. 频域数据有三个通道(I,Q,C),C表示联合通道,分别展示FFT波形;
  5. 状态数据列表实时展示;
  6. 时域可以配置时间窗口大小,也就是展示的波形最大时间段;
  7. 频域可以配置频域段;
  8. 数据支持随时保存,并可以打开查看;

成品展示

成品展示

实现难点

Qt多线程

Qt实现多线程,有两种方式:

  1. 一种是使用QThread
  2. 定义个类,继承QThread;
  3. 然后重写类的run()方法;
  4. 在主线程中通过类对象的start()方法启动线程;
  5. 一种是使用自定义类(任务类),继承QObject
  6. 在任务类中定义公共任务方法,实现具体的任务处理逻辑;
  7. 在主线程中创建QThread对象(千万不要给创建对象指定父对象);
  8. 通过调用QObject类提供的moveToThread方法,将任务类对象移动到创建的子线程对象QThread中;
  9. 调用子线程对象的start()方法,子线程开始启动,但是移动到子线程中的对象并没有工作;
  10. 通过调用自定义类对象的工作函数,让这个函数开始执行,这时候就是在移动到的子线程中执行的。

两种方式的区别:

  1. 第一种由于run()方法不可以带参数,所以如果要传参数,需要把参数作为成员变量,通过信号槽机制进行传递;第二种没有这种限制,在任务类中定义的任务函数可以带有参数,所以更加灵活;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/836639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

flask-session、数据库连接池

flask 自带session---》以cookie的形式放到了浏览器中---》加密 真正的session,是在服务端存储 -django中存在djangosession表中 -flask中,使用第三方,保存在---》redis中---》flask-session 使用步骤 pip install flask-session …

Linux笔记1(系统状态等)

man命令: man name: man section name: man -k regexp: 在 Linux 中,man 命令用于查看命令、函数或配置文件等的手册页,提供了详细的帮助文档。man 是 "manual" 的缩写。man 命令的用法如下: man [选项] [命令名]例如&…

探索编程世界的宝藏:程序员必掌握的20大算法

文章目录 1 引言2 冒泡排序算法:编程世界的排序魔法 🧙‍♀️🔢3 选择排序算法:排序世界的精确挑选器 🎯🔢4 插入排序算法:排序世界的巧妙插珠者 ✨🔢5 快速排序算法:排序…

基于人工智能的智能矿山解决方案

什么是智能矿山? 智能矿山是一种运用先进技术和智能化系统来管理和监控矿山运营的概念。它利用传感器、无线通信、数据分析和人工智能等技术,实现对矿山内部各个环节的实时监测、自动化控制和智能决策,从而提高矿山的效率、安全性和可持续性。…

自动化测试的优缺点

围绕测试自动化有很多议论,组织正在进行大量投资以利用测试自动化的好处。测试自动化可以指使用软件工具自动执行测试、将实际结果与预期结果进行比较以及报告差异/错误的过程。实施测试自动化的主要原因之一是减少手动工作和相关风险,同时测试重复性任务…

List集合的对象传输的两种方式

说明:在一些特定的情况,我们需要把对象中的List集合属性存入到数据库中,之后把该字段取出来转为List集合的对象使用(如下图) 自定义对象 public class User implements Serializable {/*** ID*/private Integer id;/*…

LCD驱动芯片VK1024B兼容HT系列驱动芯片,体积更小

产品型号:VK1024B 产品:VINKA/永嘉微电 封装形式:SOP16 产品年份:新年份 工程服务,技术支持,用芯服务 VK1024概述: VK1024B 是 24 点、 内存映象和多功能的 LCD 驱动, VK1024B …

用Log4j 2记录日志

说明 maven工程中增加对Log4j 2的依赖 下面代码示例的maven工程中的pom.xml文件中需要增加对Log4j 2的依赖&#xff1a; <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.20.0&…

纯小白也能看懂,十分钟帮你快速了解云原生概念

纯小白也能看懂&#xff0c;十分钟帮你了解云原生技术 一、麻烦的一天二、魔法的种子1. Docker2. Kubernetes 三、渐入佳境1. 技术与术语容器化技术DevOps弹性伸缩Sidecar服务网格 2. 组件与框架DockerKubernetesHelmIstioPrometheusJaegerEnvoy 四、前路漫漫 随着云原生相关技…

PHP实践:用openssl打造安全可靠的API签名验证系统

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f3c6;本文已…

clickhouse断电重启故障解决方案

业务场景 公司的一个日志系统用到了clickhouse。一线运维反映说有个生产环境因为异常断电造成服务器重启。在执行日志系统的启动脚本时&#xff0c;一直报clickhouse启动不起来&#xff0c;日志系统无法使用。 问题排查 通过阅读启动脚本代码&#xff0c;以及启动日志系统&a…

【安全测试】Web应用安全之XSS跨站脚本攻击漏洞

目录 前言 XSS概念及分类 反射型XSS(非持久性XSS) 存储型XSS(持久型XSS) 如何测试XSS漏洞 方法一&#xff1a; 方法二&#xff1a; XSS漏洞修复 原则&#xff1a;不相信客户输入的数据 处理建议 资料获取方法 前言 以前都只是在各类文档中见到过XSS&#xff0c;也进…

接口测试前置基础学习

网址结构&#xff08;面试重点&#xff09; 网址就是浏览器请求的地址。 网址组成&#xff1a;&#xff08;6个部分&#xff09; 1 协议http协议&#xff0c;超文本传输协议&#xff0c;https协议&#xff0c;s表示ssl加密。传输更安全。 2 域名&#xff1a;就是ip地址。从…

巨量算数:2023中国家居行业洞察报告(附下载

关于报告的所有内容&#xff0c;公众【营销人星球】获取下载查看 核心观点 回首过去几年&#xff0c;在疫情反复、地产热度消减、人口出生率下降等各种不利因素影响下&#xff0c;家居行业及其上下游面临极大挑战&#xff0c;整体行业遇冷&#xff0c;市场规模的增速进一步放…

超前端相关的学习网站和一些靠谱的小工具

CSS相关 1. CSS Battle - 在线比拼 CSS https://cssbattle.dev 在线比拼 CSS &#xff0c;一个挺有趣的竞争性游戏&#xff0c;一共有12个级别&#xff0c;需要你用 HTML和 CSS 100%还原它给出的页面&#xff0c;然后再尽量减少代码&#xff0c;你也可以查看全球的排行榜&am…

初级职称评审流程是什么?如何才能评初级职称呢?

职称主要代表社会地位&#xff0c;有高职称的人享有较高的社会经济和福利待遇&#xff0c;与实际技能未必有直接关联。 初级职称评审流程&#xff1a;初级职称评审需要以企业名义参加评审才可以&#xff0c;提交资料到人社局&#xff0c;人社局核实资料和基本情况&#xff0c;确…

[Qt]FrameLessWindow实现调整大小、移动弹窗并具有Aero效果

说明 我们知道QWidget等设置了this->setWindowFlags(Qt::FramelessWindowHint);后无法移动和调整大小&#xff0c;但实际项目中是需要窗口能够调整大小的。所以以实现FrameLess弹窗调整大小及移动弹窗需求&#xff0c;并且在Windows 10上有Aero效果。 先看一下效果&#xf…

光环云入选“算力服务方阵”成员单位,共筑算力新生态,赋能数字经济发展

7月26日&#xff0c;由中国信息通信研究院、中国通信标准化协会联合主办的“2023第十届可信云大会”在北京举办。会上&#xff0c;光环云正式入选国内首个算力服务研究组织——算力服务方阵&#xff0c;携手方阵成员共筑算力新生态&#xff0c;赋能数字经济发展。 算力服务方阵…

日撸java_day56-57

文章目录 day56-57kMeans 聚类代码运行截图 day56-57kMeans 聚类 1.kMeans 聚类需要中心点收敛时结束. 2.数据集为 iris, 所以最后一个属性没使用. 如果对于没有决策属性的数据集, 需要进行相应修改. 3.数据没有归一化. 4.getRandomIndices() 和 knn 的完全相同, 拷贝过来. 本…

markdown语法速记

markdown语法速记 这里只记录兼容性强的语法格式&#xff1a; [markdown官方文档]https://markdown.com.cn 标题 #号后跟一个空格如&#xff1a;“# title_level_1” 代表一级标题&#xff0c;两个#号代表二级标题&#xff0c;以此类推&#xff1b;最小为6级标题换行 直接…