Python开发日记--手撸加解密小工具(2)

news2024/12/23 10:23:08

目录

1. UI设计和代码生成

 2.运行代码查看效果

3.小结


1. UI设计和代码生成

昨天讨论到每一类算法设计为一个Tab,利用的是TabWidget,那么接下来就要在每个Tab里设计算法必要的参数了,这里我们会用到组件有Label、PushButton、TextEdit、RadioButton、ComboBox等等,最后拖拽得到如下:

这里注意蓝色方框里的内容,有小坑。

这个时候Sym的基本成型了,考虑到算法实现上的差异,因此先搞通一个工作模式,后续就很简单了,照葫芦画瓢。

保存到目标路径,可以得到一个xxx.ui文件,如下:

光有UI不行,还有转换成Python识别py文件才行,这个时候PyUIC插件起到了关键作用,在当前目录下运行PyUIC,路径Tool -> External Tool -> PyUIC :

 我们可以在终端里看到这样的指令,

这是我们之前添加工具预定好的,在这里发挥了作用,得到CryptoUI.py,:

问题来了,这些lable_2、radioButton_2到底对应是哪些控件呢?如果按这种命名方式开发,如果有200个label,不得疯掉?

所以,回到UI里刚才蓝框的位置,进行名字的修改,初学者容易犯错的点在于QLabel的属性,以为将text设置为想要的名字,代码里QLabel对象就会自动,实则不然,修改如下:

转换后得到代码如下:

 2.运行代码查看效果

我们现在已经生成了CryptoUI.py,它定义了一个类Ui_MainWindow,这个类的两个方法setupUI、retranslateUI。

我们第一步就是要创建这个一个窗口,并运行它,看是否符合之前的预览效果。

 我们在main.py里实现如下函数:

旨在运行窗口得到如下界面:

然而一般来说,没有那么顺利, 如下图:

3.小结

最后回溯下自己的环境,python3.8,pyqt6.4.0,难不成这个还有版本识别的问题?

记录到这里,明天继续。

 PS(遇到了No module name pip,可尝试更新):

 

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

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

相关文章

RSA 加密算法的基础数论、基本原理与 Python 实现

Title: RSA 加密算法的基础数论、基本原理与 Python 实现 文章目录 前言I. 数学原理1. 整数环2. 单位元3. 欧拉定理 II. 算法原理1. 扩展欧几里得算法2. RSA 非对称加密算法 III. 算法实现1. 源代码2. 测试结果 总结参考文献 前言 1977 年美国 MIT 的三位数学家 Ronald L. Riv…

gunicorn超时报错[CRITICAL] WORKER TIMEOUT

一. 问题描述 2024-06-18T08:40:39.858804039Z [2024-06-18 08:40:39 0000] [1] [CRITICAL] WORKER TIMEOUT (pid:332) 2024-06-18T08:40:40.918093090Z [2024-06-18 08:40:40 0000] [1] [ERROR] Worker (pid:332) was sent SIGKILL! Perhaps out of memory?二. 原因分析 从…

企业如何做好供应链管理工作?8个步骤及应用详解!

供应链就是采购把东西买进来,生产去加工增值,物流去配送给客户,环环相扣,就形成了供应链。它是将供应商,制造商,分销商直到最终用户连成一个整体的功能网链结构。 而供应链管理就是做好每个环节的管理&…

前沿重器[50] | 聊聊搜索系统3:文档内容处理

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经…

【Maven】项目的Maven插件报错

1. 找到本地maven库 2. 删除本地插件 3. 在IDEA上更新pom.xml

【简易版tinySTL】 deque容器

文章目录 基本概念功能思路数据结构循环数组实现 代码实现deque.htest.cpp 代码详解变量push_frontpush_backpop_front、pop_backoperator[]clearprintElementsresize 本实现版本 和 C STL标准库实现版本的区别: 基本概念 功能: 双端数组,可…

300PLC连接Modbus转Profibus网关与阀岛modbusRTU通讯

一、概况 300PLC作为常见的控制器设备,在与阀岛Modbus RTU通讯时,通常需要借助Modbus转Profibus网关(XD-MDPB100)来实现连接和数据交换。PLC通过Modbus转Profibus网关(XD-MDPB100)与阀岛Modbus RTU通讯是比…

无约束动态矩阵控制(DMC)

0、前言 动态矩阵控制(Dynamic Matrix Control,DMC)是一种典型的模型预测控制方法,其不需要被控对象的数学模型,只需要获取被控对象的阶跃响应序列即可实现控制效果,但其需要被控对象是渐近稳定的。 1、稳…

PTA - 编写函数计算薪资

某公司销售员底薪为5000,销售业绩与利润提成的关系如下表所示(计量单位:元) 编写函数,计算员工月薪。 函数接口定义: salary(sales) 其中 参数 sales表示员工的月销售业绩。 裁判测试程序样例&#xff…

Ranger配置图片及json文件预览

文章目录 前言下载apt下载pip下载 配置使用json文件预览方法一 修改scope用cat预览方法二 安装jq预览配置ranger 图片文件预览方法一 使用img2txt预览方法二 使用fim预览配置ranger 总结 前言 本文主要讲解Ranger12如何配置json及图片的预览设置,如下是ranger的介绍…

RX数据集成:信创生态下的平滑过渡方案

过去,众多中国企业倾向于采用国际供应商的数据集成产品与方案。其中Informatica作为行业翘楚,以其卓越性能和技术领先地位赢得了全球500强中95%企业的青睐。在中国市场上,众多企业同样信赖并采纳其解决方案。然而,随着国际环境的演…

数学建模基础:线性模型

目录 前言 一、线性方程组 二、线性规划 三、线性回归 四、线性模型的应用 五、实例示范:医疗成本预测 步骤 1:导入数据 步骤 2:数据预处理 步骤 3:建立多元线性回归模型 步骤 4:模型验证 步骤 5&#xff1…

C++多重继承,虚基类与友元

一.多重继承 就是一个类继承多个基类&#xff1b; class <派生类名>&#xff1a;<派生方式1><基类名1>,<派生方式n><基类名n> class Derived:public:Base1,public:Base2 上述形式&#xff1a;基类之间由逗号隔开&#xff0c;且必须指明继承方式…

Redis-数据类型-String

文章目录 1、通过客户端连接redis2、查看当前数据库的key的数量3、切换数据库3.1、切换到第一个数据库3.2、切换到第二个数据库3.3、切换到默认的数据库&#xff0c;第0个数据库 4、当前数据库没有数据5、添加键值对6、查看当前库所有key7、清空当前库8、设置存活的秒数&#x…

定个小目标之刷LeetCode热题(25)

这道题采用的解法是桶排序&#xff0c;画草图如下 代码如下 //基于桶排序求解「前 K 个高频元素」 class Solution {public int[] topKFrequent(int[] nums, int k) {HashMap<Integer, Integer> map new HashMap();for (int num : nums) {if (map.containsKey(num)) {m…

python自动化系列:自动复制一个工作簿的所有工作表到其他工作簿

作品介绍 作品名称&#xff1a;自动复制一个工作簿的所有工作表到其他工作簿 开发环境&#xff1a;PyCharm 2023.3.4 python3.7 用到的库&#xff1a;os、xlwings 作品效果&#xff1a; 实现过程 一、代码设计 以下是代码的详细说明&#xff1a; 导入模块&#xff1a; …

物联网主机E6000:动环监控的全新解决方案!

物联网主机E6000在动环监控中的应用&#xff0c;标志着一场新的技术革命。随着科技的进步&#xff0c;特别是在物联网领域&#xff0c;数据采集和处理已经成为企业运营不可或缺的一环。 E6000作为一款支持多协议、多接口的全能型物联网主机&#xff0c;其在动环监控领域的应用…

详解Spring AOP(二)

目录 1.切点表达式 1.1execution表达式 1.2 annotation 1.2.1自定义注解MyAspect 1.2.3添加自定义注解 2.Sping AOP原理 2.1代理模式 2.1.1静态代理 2.1.2动态代理 2.1.3JDK动态代理 2.1.4CGLIB动态代理 3.总结 承接上文&#xff1a;详解Spring AOP&#xff08;一&…

【GO】rotatelogs库和sirupsen/logrus库实现日志功能的实践用例

“github.com/sirupsen/logrus” 是一个 Go 语言的日志库&#xff0c;它提供了一种简单、灵活的方式来记录日志。该库的主要特点包括&#xff1a; 支持多种日志输出目标&#xff0c;如控制台、文件等。 支持日志轮转&#xff0c;可以按照时间或文件大小进行轮转。 支持日志格式…

【投稿优惠|稳定出版】2024年体育、健康与食品安全国际学术会议(ICSHFS 2024)

【投稿优惠|稳定出版】2024年体育、健康与食品安全国际学术会议&#xff08;ICSHFS 2024&#xff09; 2024 International Conference on Sports, Health, and Food Safety(ICSHFS 2024) 会议简介&#xff1a; 2024年体育、健康与食品安全国际学术会议&#xff08;ICSHFS 2024…