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

目录

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.mzph.cn/bicheng/34696.shtml

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

相关文章

【算法】数组-基础知识与应用

一.基础理论 数组是存放在连续内存空间上的相同类型数据的集合。数组可以方便的通过下标索引的方式获取到下标对应的数据。 数组下标都是从0开始的。数组内存空间的地址是连续的 因为数组在内存空间的地址是连续的,所以我们在删除或者增添元素的时候&#xff0c…

【华为HCIA数通网络工程师真题-构建以太网交换网络】

华为HCIA数通网络工程师真题-构建以太网交换网络 一、1-10题 一、1-10题 1、如图所示,四台交换机都运行 STP,各种参数都采用默认值如果交换机C的G0/0/2端口发生阻塞并无法通过该端口发送配置 BPDU,则网络中 blocked 端口多久之后会进入到转发…

【数据结构与算法】动态查找表(二叉排序树,二叉平衡树)详解

二叉排序树的数据结构。 struct TreeNode {ElemType data;TreeNode *left, *right; }; using BiTree TreeNode *;结构体包含三个成员: data 是一个 ElemType 类型的变量,用于存储二叉搜索树节点的数据。left 是一个指向 TreeNode 类型的指针&#xff…

动态规划数字三角形模型——AcWing 1015. 摘花生

动态规划数字三角形模型 定义 动态规划数字三角形模型是在一个三角形的数阵中,通过一定规则找到从顶部到底部的最优路径或最优值。 运用情况 通常用于解决具有递推关系、需要在不同路径中做出选择以达到最优结果的问题。比如计算最短路径、最大和等 注意事项 …

java —— 网络编程(TCP)

网络编程三要素:IP,端口号,协议。 一、连接 客户端使用 Socket 类: Socket snew Socket(目标主机IP,端口号); 服务器端使用 ServerSocket 类: ServerSocket ssnew ServerSocket(端口号); Socket sss.…

【SAP HANA 35】HANA窗口函数PARTITION BY示例

窗口函数允许对数据进行高级分析和计算,例如排名和累计和。 -- 计算每个员工在其职位组中的工资排名 SELECTFirstName,LastName,Position,Salary,RANK() OVER (PARTITION BY FirstName,LastName ORDER BY Salary DESC) AS Rank FROM Employees;-- 计算每个员工在其…

TXL编程语言环境安装

TXL(Tree Transformation Language)是一种专门用于源代码分析和转换的编程语言。它基于树形结构,可以帮助开发人员进行各种代码重构、代码生成、语法转换等操作。TXL具有强大的模式匹配和模式替换功能,因此在软件工程和编程语言研…

new和delete操作符的作用以及与malloc和free进行比较

new 和 delete 是在C中用于动态内存分配和释放的操作符,而 malloc 和 free 则是在C语言(以及C中作为C的兼容部分)中用于相同目的的函数。以下是它们各自的作用以及它们之间的比较: new 和 delete 作用: new&#xf…

速盾:DDOS能打死高防ip吗?

DDoS攻击是一种利用大量计算机或设备发起的分布式拒绝服务攻击。它的目标是通过发送大量流量或请求,使目标服务器或网络资源无法正常工作。高防IP是一种具有强大防御能力的网络服务,能够抵御各种形式的网络攻击,包括DDoS攻击。然而&#xff0…

英文输入法(75%用例)C卷(JavaPythonC++Node.jsC语言)

主管期望你来实现英文输入法单词联想功能。需求如下: 依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。 注意: 1. 英文单词联想时,区分大小写 2. 缩略形式如”dont”,…

机器学习-线性回归模型python demo

文章目录 前言机器学习-线性回归模型python demo1. 准备工作2. 实施2.1. 准备样本数据2.2. 创建线性回归模型2.3. 预测新的房价 3. 散点图、线形图 完整demo 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不…

【Python】已解决:Python读取字典查询键报错“KeyError: ‘d‘”

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:Python读取字典查询键报错“KeyError: ‘d’” 一、分析问题背景 在Python编程中,字典(dictionary)是一种非常重要的数据结构…

要在服务器上部署SSM(Spring, Spring MVC, MyBatis的组合

首先需要一台运行Ubuntu的服务器。下面是如何下载和安装Ubuntu的步骤: 一、下载Ubuntu ISO镜像 1. 访问Ubuntu官方网站: • 打开浏览器,进入Ubuntu的官方网站。 • 选择适合的Ubuntu版本下载,一般选择LTS(长期支持版…

静态内部类局部内部类

静态内部类 创建静态内部类对象的格式:外部类名.内部类名 对象名new外部类名.内部类名(); 调用非静态方法的格式:先创建对象,用对象调用 调用静态方法的格式:外部类名.内部类名.方法名(&#…

JAVA学习-练习试用Java实现“三数之和”

问题: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?请你找出所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例 1&…

GMSB文章一:介绍

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 Lin, Huang, et al. [lin2024effect],本文的研究重点是探讨性行为对HIV-1血清转换的影…

【笔记】echarts图表的缩放和鼠标滚动的处理解决方案

解决方案不是很好,来源于github的issue,官方提供了,组合键触发缩放的功能。 https://github.com/apache/echarts/issues/5769 https://echarts.apache.org/zh/option.html#dataZoom-inside.zoomOnMouseWheel dataZoom-inside.zoomOnMouseWhe…

面试-细聊synchronized

1.线程安全问题的主要诱因: 存在多条共享数据(临界资源) 存在多条线程共同操作这些共享数据 解决问题的根本方法: 同一时刻有且仅有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后在对共享数据进行操作。 2.synchroized锁 分…

【DFS】个人练习-Leetcode-LCS 03. 主题空间

题目链接:https://leetcode.cn/problems/YesdPw/description/ 题目大意:二位字符数组grid[][],0代表走廊,其他字符代表某种type的房间。上下左右连续的同type的房间被视为同一块区域。grid[][]边缘的房间也视为和走廊相接&#x…

C++三大特性之一:多态

一、多态 1、通过指针创建对象&#xff08;动态分配&#xff09; #include <iostream> using namespace std;class Base { public:virtual void show() {cout << "Base class show" << endl;} };class Derived : public Base { public:void show…