您现在的位置是:首页 >技术教程 >【用python的QT做信号处理的界面】网站首页技术教程

【用python的QT做信号处理的界面】

Bryce515 2023-07-07 04:00:04
简介【用python的QT做信号处理的界面】

入口文件

入口文件,主要用来实例化窗口(不重要),只要知道从这里进入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:论文毕业论文qtqt新建数据文件夹"表示默认打开的文件夹位置。
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对应的名字改成修改后的名字,界面上勾选窗口位置的名字也就改掉了,这个地方也可以改按钮的名字,找到改掉就行。
![在这里插入图片描述](https://img-blog.csdnimg.cn/f81a6f11b119439a85d12eec51981268.pn

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。