【用python的QT做信号处理的界面】
文章目录
- 入口文件
- 界面参数调整
- 数据从dat解析出来的文件
- 从界面点击打开文件夹的功能实现
- 主要功能代码
- 网络参数
- 存图
- 替换功能,比如把倒频谱替换成倒频谱2
入口文件
入口文件,主要用来实例化窗口(不重要),只要知道从这里进入Ui_MainWindow()就行.

界面参数调整
这个地方是qt_signal2.py文件里面,从刚刚的入口文件进来到这,setupUi是用来设置窗口的各种属性,比如展示界面的各个按钮(名字带有button的)、勾选窗口(名字带有checkbox的)、还有信号图(名字带有label的)… 还有一些其他的。
如果要调整窗口大小,找到QtCore.QRect(WIN_X-1000, 10, 900, 150),可以自己不断运行,然后调整到合适的位置就可以。不同的电脑显示屏,需要设置不同的大小,正常来说改WIN_X和WIN_Y就行(WIN_X是主窗口的长,WIN_Y是主窗口的宽度),如果改这两个后还是不正常再修改,里面的数字分别表示(距离左边的距离,距离上面的距离、组件的长度、组件的宽度)。
setStyleSheet是设置组件颜色与边界粗细的。
弹窗的属性修改在这个文件最后面,也是对应位置修改尺寸。

数据从dat解析出来的文件
下面这段在util.py里面。读取dat文件要根据对应说明文档的方式,主要内容在while True里面,根据文档先读取头文件,然后把头文件里面解析出来的字节长度等信息放在head这个列表里面。然后unpack_once再根据头文件里面的说明,从刚刚放入的列表里解析出最后的数据。
下面这个是文件里面的配置,上面那个是程序解析需要的,float形或者int形之类的,下面那个是上面对应位置的字节长度,如果有改动这两个也要对应修改。
DATA_TYPE_DICT={1:‘>?’,2:‘>b’,3:‘>h’,4:‘>i’,5:‘>f’,6:‘>d’,7:‘>c’}
DATA_LENTH=[1,1,2,4,4,8,1]

从界面点击打开文件夹的功能实现
这两个函数是内置的可以批量选择文件的函数,后来改了只用到load_data_batch,只能多选。里面的r"D:\论文\毕业论文\qt\qt\新建数据文件夹"表示默认打开的文件夹位置。
self.file_list = [x for x in file_path if “.txt” in x or “.dat” in x] 表示只能读txt文件或者dat文件,如果要加其他类型在 ] 前面加 or “.xxx” in x就行。

主要功能代码
主要运行文件在qt_signal_qthread.py,里面的run函数。这个是多图处理的流程,单图处理的会报错。

网络参数
网络参数有很多,可以看哪个最合适。网络参数填写是在n2n/test.py文件里的test函数中。


存图
存图基本上都是下面的格式.
限制x轴和y轴的方法:
里面的参数ylim([0,0.2])表示限制y轴为0到0.2,如果没效果就这么改:在plt.plot前面写data[data>0.2]=0.2 把y轴大于0.2的都置0.2。
如果要限制x轴长度,把plt.plot里面的两个参数都改成axis_x[:1000]和data[:1000]。表示x轴只取从左往右1000个点。要截取中间的1000个点也可以,百度python列表查询了解一下就知道了。
如果出来的图异常,一般是这个DPI和figsize不对。figsize表示存图的长宽尺寸。DPI用500或者1000,figsize要根据界面参数调整里面说的信号显示窗口的长宽比例来调整这个比例,不改窗口这个比例就不用调。
fig = plt.figure(dpi=DPI,figsize=(12.8,6.4/2))
util.py里面,下面这个是存图的文件名后缀。

替换功能,比如把倒频谱替换成倒频谱2
1.在qt_signal_qthread.py的run函数里面,找到算倒频谱的地方,把save_signal函数的参数‘倒频谱’改成对应的名字,图上就会显示修改后的名字。
2.替换计算函数,把计算倒频谱的函数替换成需要的函数,函数需要返回一个列表,列表里的每个元素按顺序是每个信号点经过计算后的输出。

3.在qt_signal2.py里的这个函数里面,把checkbox对应的名字改成修改后的名字,界面上勾选窗口位置的名字也就改掉了,这个地方也可以改按钮的名字,找到改掉就行。

相关文章:
【用python的QT做信号处理的界面】
文章目录 入口文件界面参数调整数据从dat解析出来的文件从界面点击打开文件夹的功能实现主要功能代码网络参数存图替换功能,比如把倒频谱替换成倒频谱2 入口文件 入口文件,主要用来实例化窗口(不重要),只要知道从这里…...
【Linux】进程间通信 —— 管道
文章目录 📕 进程间通信介绍📕 匿名管道原理使用读写规则特点 📕 命名管道原理使用匿名管道和命名管道的区别 📕 进程间通信介绍 进程间通信,顾名思义,就是两个进程之间的 “交流” ,我们知道&…...
知识管理在企业中的重要性
随着经济全球化和信息化的快速发展,企业面临着越来越多的竞争和挑战。如何把握市场动态、满足客户需求、提高产品质量和效率等,成为了企业发展中亟待解决的问题。而知识管理作为一种新兴的管理方式,逐渐引起了企业们的重视。本文将从以下几个…...
Socks5、网络安全、代理IP技术详解
随着互联网的发展,网络安全问题越来越受到人们的关注。为了保护个人隐私和网络安全,使用代理服务器成为了一种普遍的选择。其中,Socks5协议是一种常见的代理协议,而代理IP是使用代理服务器时经常需要考虑的问题。本文将深入探讨So…...
C++学习day--09 字符串比较、运算符
1、项目练习 第 1 节 项目需求、项目实现 项目实现: #include <iostream> #include <Windows.h> #include <string> using namespace std; int main( void ) { string name; string pwd; std::cout << " 请输入账号&am…...
缓存和数据库一致性问题
如何保证缓存和数据库一致性,这是一个老生常谈的话题了。 但很多人对这个问题,依旧有很多疑惑: 到底是更新缓存还是删缓存? 到底选择先更新数据库,再删除缓存,还是先删除缓存,再更新数据库&am…...
4月京东生鲜水果行业数据报告:榴莲销量增长400%,市场格局剧变
众所周知,今年水果领域的一个重磅消息就是:榴莲价格暴跌。目前全国多地线下水果专卖店、农贸市场的榴莲价格都在下滑,有的地区在4月底甚至已经降至最低每斤20元左右。预测在5月的销售旺季,价格还有望一路向下。 •榴莲逆袭苹果&am…...
Windows无法完成格式化怎么办?正确的3个解决方法!
案例:Windows无法完成格式化怎么办 【由于我的U盘使用时间过长,很多文件都是不需要的,我想将其格式化,但插入电脑后,Windows根本无法完成格式化,这是为什么呢?我应该怎么做呢?求答案…...
基于aspnet个人博客网站dzkf6606程序
系统使用Visual studio.net2010作为系统开发环境,并采用ASP.NET技术,使用C#语言,以SQL Server为后台数据库。 1.系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和…...
不黑艺术学社京藏行——参观五台山孙溟㠭为五台山红英师治印
不黑学社社长孙溟㠭先生与五台山菩萨顶主事红英师 不黑学社京藏行,路经五台把佛拜。 巍巍五台清凉境,参访伊始菩萨顶。 感恩“天珠”刘诗语,芬芳佛语满香华。 感恩慈悲红英师,带众参拜大白塔。 菩萨顶上如意宝,莲…...
mysql数据之表管理-mysql高级管理
1. #创建表tt01 #对id字段设置零填充约束、主键约束、自增长约束 #对name字段设置非空约束、默认值约束 #对cardid字段设置非空约束、唯一键约束 插入数据记录: 1)因为id字段设置了自增长,如果不指定id字段值,则默认从1开始递…...
公司新来的00后真是卷王,工作没2年,跳槽到我们公司起薪18K都快接近我了
说00后躺平了,但是有一说一,该卷的还是卷。这不,前段时间我们公司来了个00后,工作都没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 …...
面试题30天打卡-day19
1、TCP 和 UDP 协议有什么区别,分别适用于什么场景? TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常用的传输层协议,两者的区别比较如下: TCPUDP可靠性…...
ASEMI代理ADI亚德诺LTC6992IS6-1#TRMPBF车规级芯片
编辑-Z LTC6992IS6-1#TRMPBF参数描述: 型号:LTC6992IS6-1#TRMPBF 输出频率:3.81Hz 工作电源电压范围:2.25 - 5.5V 通电复位电压:1.95V 电源电流:105-365A SET引脚处的电压:1V 频率设置电…...
Oracle PL/SQL基础语法学习15:静态表达式
系列文章目录 Oracle PL/SQL基础语法学习12:短路求值 Oracle PL/SQL基础语法学习13:比较运算符 Oracle PL/SQL基础语法学习14:BOOLEAN表达式 文章目录 系列文章目录前言Oracle PL/SQL基础语法学习15:静态表达式Static Expression…...
B-Tree (多路查找树)分析-20230503
B-Tree (多路查找树)学习-20230503 前言 B-树是一类多路查询树,它主要用于文件系统和某些数据库的索引,如果采用二叉平衡树访问文件里面的数据,最坏情况下,磁头可能需要进行O(h)次对磁盘的读写,其中h为树的高度&…...
OpenGL光照教程之 透光物
引言 我们目前使用的所有光照都来自于一个单独的光源,这是空间中的一个点。它的效果不错,但是在真实世界,我们有多种类型的光,它们每个表现都不同。一个光源把光投射到物体上,叫做投光。这个教程里我们讨论几种不同的投…...
如何使用hook?
目标:将posix函数hook住 一个简单的例子 (连接mysql服务),连接成功则打印success mysql.c #include <mysql/mysql.h> #include <stdio.h> int main(){MYSQL* mysql mysql_init(NULL);if(!mysql){printf("my…...
双指针技巧秒杀七道链表题目
文档阅读 文档阅读 题目 141. 环形链表 https://leetcode.cn/problems/linked-list-cycle/ public class Solution {public boolean hasCycle(ListNode head) {ListNode fast head, slow head;while(fast ! null && fast.next ! null){fast fast.next.next;slo…...
在“裸奔”时代保护我们的隐私:网络攻击、数据泄露与隐私侵犯的应对策略与工具
摘要:随着信息技术的普及和发展,个人隐私和数据安全问题日益受到威胁。本文将讨论如何有效应对网络攻击、数据泄露和隐私侵犯,并提供一系列实用的技巧和工具,以帮助我们在“裸奔”时代更好地保护数据安全和隐私。 当今社会&#…...
Serverless函数优化:提升无服务器应用性能
Serverless函数优化:提升无服务器应用性能 一、Serverless函数优化概述 1.1 Serverless函数的定义 Serverless函数是一种事件驱动的计算服务,它允许开发者编写小块代码来响应事件,而无需管理服务器。Serverless函数优化是指通过各种技术手段提…...
ThinkPad风扇控制终极指南:TPFanCtrl2实现128级精准调速与双风扇独立管理
ThinkPad风扇控制终极指南:TPFanCtrl2实现128级精准调速与双风扇独立管理 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 TPFanCtrl2是一款专为ThinkPad笔记…...
终极SOCD清理工具:Hitboxer让你的游戏操作精准如职业选手
终极SOCD清理工具:Hitboxer让你的游戏操作精准如职业选手 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏对战中,明明同时按下了左右方向键,角色却做出奇…...
抖音去水印下载:如何构建专业级内容采集工作流
抖音去水印下载:如何构建专业级内容采集工作流 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音…...
别再手动改图号了!Word 2016 交叉引用功能,让你的论文排版效率翻倍
告别手动编号:用Word 2016交叉引用功能打造智能学术文档 在撰写学术论文或技术报告时,最令人头疼的莫过于图表编号的维护。想象一下这样的场景:你刚刚完成了一篇50页的论文,导师要求在第20页和第35页之间插入三张新图表——这意味…...
Origin颜色映射与对数坐标实战:手把手教你调出专业级径向堆积条形图配色
Origin专业级径向堆积条形图配色与对数坐标实战指南 当你面对一堆杂乱无章的径向堆积条形图数据时,是否经常感到无从下手?那些颜色混乱、层级不清的图表不仅无法有效传达信息,还会让读者对数据的理解产生偏差。本文将带你深入探索Origin中两个…...
ModTheSpire终极指南:深入解析杀戮尖塔模组加载器核心架构
ModTheSpire终极指南:深入解析杀戮尖塔模组加载器核心架构 【免费下载链接】ModTheSpire External mod loader for Slay The Spire 项目地址: https://gitcode.com/gh_mirrors/mo/ModTheSpire ModTheSpire是一款专为《杀戮尖塔》游戏设计的专业级模组加载器&…...
golembot:在聊天平台集成AI编程助手的框架设计与实战
1. 项目概述与核心价值 如果你和我一样,经常在 Slack、Discord 或者飞书这些团队协作工具里讨论技术问题,或者希望有一个能随时调用的 AI 编程助手,那么 golembot 这个项目绝对值得你花时间研究一下。简单来说,它是一个能让你在…...
8大网盘直链下载助手:开源工具如何彻底改变你的文件下载体验?
8大网盘直链下载助手:开源工具如何彻底改变你的文件下载体验? 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中…...
网盘直链下载助手:告别限速,9大平台文件高速下载终极方案
网盘直链下载助手:告别限速,9大平台文件高速下载终极方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移…...
