用python的QT做界面

news2024/11/24 20:46:55

文章目录

    • 入口文件
    • 界面参数调整
    • 数据从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对应的名字改成修改后的名字,界面上勾选窗口位置的名字也就改掉了,这个地方也可以改按钮的名字,找到改掉就行。
![在这里插入图片描述](https://img-blog.csdnimg.cn/f81a6f11b119439a85d12eec51981268.pn

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

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

相关文章

每日学术速递4.30

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Masked Frequency Modeling for Self-Supervised Visual Pre-Training(ICLR 2023) 标题:用于自监督视觉预训练的掩蔽频率建模 作者:Jiahao Xie, Wei Li, Xi…

SwiftUI 设计和调试复杂界面的基本技巧示例

功能需求 对于比较复杂的 SwiftUI 界面,我们需要在充分了解 SwiftUI 各个视图基本特性的同时,合理利用 Xcode 强大的预览(Preview)机制,实时且全面的测试所有场景下的显示情况。 如上图所示:我们在 App 支持的每种语言环境中都对界面进行了全面的测试,并解决了 Cell 里…

使用Lambda表达式mutable有感

使用Lambda表达式mutable有感 在学Qt的时候,我看着mutable陷入了沉思,总觉得它和C中的某个特性很像?没错,就是 深拷贝 如果你忘记了深拷贝和浅拷贝是什么,那跟着我来一起回忆一下吧。首先来看深拷贝与浅拷贝的概念 浅…

从零开始学习Linux运维,成为IT领域翘楚(四)

文章目录 🔥Linux路径🔥Linux处理文件目录的常用命令🔥Linux文件编辑工具vi/vim🔥Linux文件内容查看命令 🔥Linux路径 路径,顾名思议,是指从树形目录中的某个目录层次到某个文件的一条道路。 Li…

设计模式-工厂、装饰模式

一. 设计模式-工厂模式 package com.factory.pattern;/**目标:工厂模式。什么是工厂设计模式?工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的方…

Spring 5 笔记 - AOP

1. AOP 简介 AOP:Aspect Oriented Programming, 面向切面编程或面向方面编程。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 将日志…

【英语】大学英语CET考试,写作部分(论述文+应用文,6篇范文)

文章目录 3项评分标准(内容&结构,语言)0.1 论述文个人小结 1、论述文:审题与功能句2、论述文:修饰内容和名言模板3、论述文:现象作文&利弊分析4、论述文:给出权威论据和有侧重的现象5、…

新老stp的配置和安全总结部分

老stp只有根桥没有备份桥 老stp的五种接口状态: disable 接口down没开stp blocking 阻塞 listening 发bpdu,比较bpdu优劣 leraning 开始学习mac地址表 forwardding 转发 老stp直接拓扑变化30秒,间接拓扑变化50秒 RSTP只有3种端口状态&#…

每日学术速递4.28

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.StepFormer: Self-supervised Step Discovery and Localization in Instructional Videos(CVPR 2023) 标题:StepFormer:教学视频中的自我监督步骤发现和定位…

vue diff算法与虚拟dom知识整理(1) 概念叙述

今天开始 我们来学习 虚拟dom和diff算法 首先 我们要简单了解 虚拟dom和diff算法在vue中的作用 例如 下图左侧是我们的加 然后 我们要将 家按图右改造一下 我们先来找一下不同 如图卷出来的效果 我们起居室想多装一个沙发 卧室床改了位置 电视不要了 阳台小改了一下 其实改…

每日学术速递4.27

Subjects: cs.CV 1.End-to-End Spatio-Temporal Action Localisation with Video Transformers 标题:使用视频转换器进行端到端时空动作定位 作者:Alexey Gritsenko, Xuehan Xiong, Josip Djolonga, Mostafa Dehghani, Chen Sun, Mario Lučić, Corde…

IS-IS协议基础知识

文章目录 前言介绍地址格式报文格式区域及路由器类型区域类型路由器类型Level-1 路由器Level-2 路由器Level-1-2路由器 IS-IS 网络类型DIS及伪节点伪节点DIS与OSPF的DR/BDR不同之处 IS-IS 邻接关系握手报文邻接关系的建立 IS-IS 链路状态数据库概述数据库同步报文泛洪机制数据库…

【网络编程】socket套接字

文章目录 一、源IP和目的IP二、端口号port三、TCP/UDP协议3.1 网络字节流 四、socket套接字4.1 socket常见接口4.2 sockaddr结构体 五、总结 一、源IP和目的IP 如果我们的台式机或者笔记本没有IP地址就无法上网,而因为每台主机都有IP地址,所以注定了数据…

Prometheus Exporter开发

Prometheus Exporter开发 Exporter数据格式介绍 Exporter徒手开发 Exporter4种指标类型演示 Exporter自定义注册表 Exporter 基于Collector的模块开发 Exporter介绍 数据格式 通讯协议 HTTP协议服务端实现了gzip 数据格式 text/plain:文本协议 数据格式 prometheus…

MySQL性能监控全掌握,快来get关键指标及采集方法!

数据库中间件监控实战,MySQL中哪些指标比较关键以及如何采集这些指标了。帮助提早发现问题,提升数据库可用性。 1 整体思路 监控哪类指标? 如何采集数据? 第10讲监控方法论如何落地? 这些就可以在MySQL中应用起来。…

ChatGPT提示词工程(四):Inferring推断

目录 一、说明二、安装环境三、推断(Inferring)1. 推断情绪(正面 / 负面)2. 确定情绪的类型3. 识别愤怒4. 从客户评论中提取产品和公司名称5. 一次完成多项任务6. 推断主题7. 主题中是否包含给定的主题 一、说明 这是吴恩达 《Ch…

【栈】的实现

🖊作者 : D. Star. 📘专栏 : 数据结构 😆今日分享 : —>📖区块链 : 小明向你借100块钱,说一周后还你,然后你拿个喇叭大喊一声:我是某某,小明向我借了100块&#xff0c…

Redis缓存(双写一致性问题)

Redis缓存(双写一致性问题) 1 什么是缓存?1.1 为什么要使用缓存1.2 如何使用缓存 2 添加缓存2.1 、缓存模型和思路2.2、代码如下 3 缓存更新策略3.1 、数据库缓存不一致解决方案:3.2 、数据库和缓存不一致采用什么方案 4 实现商铺和缓存与数…

【C生万物】 指针篇 (初级)

欢迎来到 Claffic 的博客 💞💞💞 👉 专栏:《C生万物 | 先来学C》👈 前言: 面对C语言,很多童鞋都会高呼:指针难,指针难&#x…

【计算机专业漫谈】【计算机系统基础学习笔记】W2-1十进制数与二进制数,各进制数直接的转换

利用空档期时间学习一下计算机系统基础,以前对这些知识只停留在应试层面,今天终于能详细理解一下了。参考课程为南京大学袁春风老师的计算机系统基础MOOC,参考书籍也是袁老师的教材,这是我的听课自查资料整理后的笔记 W2-1十进制…