【pyqt5界面化工具开发-14】初始牛刀-登录工具

目录

0x00 前言:

一、准备好ui的加载

二、获取对应的触发事件

三、触发事件绑定

三、输入内容的调用

三、完善登录逻辑


0x00 前言:

在逻辑代码的处理添加数据包的请求,返回数据包的判断,就可以完整实现登录检测的一个界面化工具了



一、准备好ui的加载

老演员来了

import sysfrom PyQt5 import uic
from PyQt5.QtWidgets import *class MyWindow(QWidget):def __init__(self):super().__init__()self.init_ui()def init_ui(self):self.ui = uic.loadUi("./my_win.ui")if __name__ == '__main__':app = QApplication(sys.argv)w = MyWindow()w.ui.show()       # 展示窗口sys.exit(app.exec_())



二、获取对应的触发事件

如图所示

此处:self.ui为顶层,然后下面为控件

import sysfrom PyQt5 import uic
from PyQt5.QtWidgets import *class MyWindow(QWidget):def __init__(self):super().__init__()self.init_ui()def init_ui(self):self.ui = uic.loadUi("./my_win.ui")# ————————————————————————————————————————————————————————————————————
# 与布局中控件相对应# 获取对应触发事件user_name = self.ui.lineEdit        # 用户名password = self.ui.lineEdit_2       # 获取密码login_btn = self.ui.pushButton      # 登录按钮forget_btn = self.ui.pushButton_2   # 忘记密码text_browser = self.ui.textBrowser  # 文本显示区域# ——————————————————————————————————————————————————————————————-——————if __name__ == '__main__':app = QApplication(sys.argv)w = MyWindow()w.ui.show()       # 展示窗口sys.exit(app.exec_())



三、触发事件绑定

1、绑定触发事件和对应的逻辑

2、写好逻辑处理函数

import sysfrom PyQt5 import uic
from PyQt5.QtWidgets import *class MyWindow(QWidget):def __init__(self):super().__init__()self.init_ui()def init_ui(self):self.ui = uic.loadUi("./my_win.ui")# 获取对应触发事件user_name = self.ui.lineEdit        # 用户名password = self.ui.lineEdit_2        # 获取密码login_btn = self.ui.pushButton      # 登录按钮forget_btn = self.ui.pushButton_2    # 忘记密码text_browser = self.ui.textBrowser  # 文本显示区域# —————————————————————————————————————————————————————————————————————
# 新增如下# 绑定登陆事件的逻辑login_btn.clicked.connect(self.login)def login(self):# 登录逻辑print("正在登录中")# ———————————————————————————————————————————————————————————————————————if __name__ == '__main__':app = QApplication(sys.argv)w = MyWindow()w.ui.show()       # 展示窗口sys.exit(app.exec_())



三、输入内容的调用

获取到输入框内内容,并在登录逻辑中调用

(其实能在登录逻辑调用,就可以通过逻辑代码进行检测账号密码是否正确了)

import sysfrom PyQt5 import uic
from PyQt5.QtWidgets import *class MyWindow(QWidget):def __init__(self):super().__init__()self.init_ui()def init_ui(self):self.ui = uic.loadUi("./my_win.ui")# 获取对应触发事件# ————————————————————————————————————————————————————————————————————————
# 获取到用户输入self.user_name = self.ui.lineEdit        # 用户名self.password = self.ui.lineEdit_2       # 获取密码# ————————————————————————————————————————————————————————————————————————login_btn = self.ui.pushButton      # 登录按钮forget_btn = self.ui.pushButton_2   # 忘记密码text_browser = self.ui.textBrowser  # 文本显示区域# 绑定登陆事件的逻辑login_btn.clicked.connect(self.login)def login(self):# 登录逻辑print("正在登录中")#————————————————————————————————————————————————————————————————————————
# 在其他部分调用(并转换格式)print(self.user_name.text())print(self.password.text())#————————————————————————————————————————————————————————————————————————if __name__ == '__main__':app = QApplication(sys.argv)w = MyWindow()w.ui.show()       # 展示窗口sys.exit(app.exec_())



三、完善登录逻辑

1、完善相关数据的获取

2、完善登录的逻辑代码

import sysfrom PyQt5 import uic
from PyQt5.QtWidgets import *class MyWindow(QWidget):def __init__(self):super().__init__()self.init_ui()def init_ui(self):self.ui = uic.loadUi("./my_win.ui")# ——————————————————————————————————————————————————————————————————————————
# 完善相关数据的获取# 获取对应触发事件self.user_name = self.ui.lineEdit        # 用户名self.password = self.ui.lineEdit_2       # 获取密码self.login_btn = self.ui.pushButton      # 登录按钮self.forget_btn = self.ui.pushButton_2   # 忘记密码self.text_browser = self.ui.textBrowser  # 文本显示区域#
# ——————————————————————————————————————————————————————————————————————————# 绑定登陆事件的逻辑self.login_btn.clicked.connect(self.login)# ——————————————————————————————————————————————————————————————————————————
# 完善登录逻辑def login(self):# 登录逻辑uname = self.user_name.text()pw = self.password.text()if uname == "admin" and pw == "123456":self.text_browser.setText("欢迎%s回来" % uname)self.text_browser.repaint()else:self.text_browser.setText("%s的用户名或密码错误" % uname)self.text_browser.repaint()#
# ——————————————————————————————————————————————————————————————————————————if __name__ == '__main__':app = QApplication(sys.argv)w = MyWindow()w.ui.show()       # 展示窗口sys.exit(app.exec_())

正确登录

错误登录

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

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

相关文章

Android.mk开发模板

今天简单写了一个 Android.mk 的示例模板,供初学者参考。 本模板主要给大家示例 Android NDK 开发中的如下几个问题: 如何自动添加需要编译的源文件列表如何添加第三方静态库、动态库的依赖如何构造一个完整的NDK工程框架 假设我们的项目依赖 libmath.…

前后端分离不存在会话,sessionid不一致问题

目录 1.使用拦截器解决跨域的示例: 2.使用redis,不使用session 前后端不分离项目我们可以通过session存储数据,但是前后端分离时不存在会话,每次请求sessionid都会改变,当值我们储存的数据不能取出来。 1.使用拦截器…

stable diffusion实践操作-webUI教程-不是基础-是特例妙用

系列文章目录 stable diffusion实践操作 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、SD webUI是什么?二、详细教程1. 相关插件安装1.1. 提示词插件安装和使用1.2. upscale 放…

Rust 进阶学习

Rust 进阶学习 文章目录 Rust 进阶学习所有权作用域移动和克隆涉及函数的所有权机制涉及参数的所有权涉及返回值的所有权 引用和租借可变引用 枚举类枚举成员的属性枚举匹配 结构体结构体方法结构体关联函数 错误处理不可恢复错误可恢复错误 Rust代码组织管理Module默认的Modul…

JavaScript原型链污染

前言 在浏览某个论坛的时候,第一次看到了JavaScript原型链污染漏洞。当时非常的好奇,当时我一直以为js作为一种前端语言,就算存在漏洞也是针对前端,不会危害到后端,因此我以为这种漏洞危害应该不大。可当我看到他的漏…

简明易懂:Python中的分支与循环

文章目录 前言分支结构if 语句:单一条件判断else语句:提供备选方案elif 语句:多条件判断嵌套的分支结构:复杂条件逻辑 循环结构for循环:遍历序列range()函数与for循环while循环:条件重复循环控制&#xff1…

PAT编程基础笔记

写在前面&#xff1a; 这篇文章是我之前刷PAT(Basic Level)随手记下来的几个记忆点&#xff0c;希望对大家有所帮助。 1.字符串和数值类型之间的转换&#xff1a; 如果要将数值类型如int、double、long转换为字符串string&#xff0c;可以使用to_string()函数 #include<s…

GA遗传算法

储备知识 GA算法主要解决数学模型中最优化的搜索算法&#xff0c;是进化算法中的一种&#xff0c;基因算法借鉴了自然界基因的遗传的主要现象&#xff0c;分别为遗传&#xff0c;变异&#xff0c;自然选择&#xff0c;杂交等。 GA算法参数 GA算法的参数如下所示。 种群规模…

剑指 Offer 62. 圆圈中最后剩下的数字(简单)

题目&#xff1a; class Solution { public:int lastRemaining(int n, int m) {int pos 0;for(int i2;i<n;i){pos (posm)%i;}return pos;} };作者&#xff1a;想吃火锅的木易 链接&#xff1a;详细题解 来源&#xff1a;力扣&#xff08;LeetCode&#xff09;

基于python的改进高斯混合模型的图割算法研究设计与实现

摘要 信息技术永远是改变生活的第一种创新方式&#xff0c;各种行业的发展更是脱离不了科技化的支持。原本传统的行业正在被科技行业的切入悄悄的发生变化。就拿我们生活当中常见的事情举例而言&#xff0c;在外卖行业还没有发展的快速的时候&#xff0c;方便面等速食成了快速吃…

ssh常用操作

ssh常用操作 SSH是一种安全协议&#xff0c;ssh是该协议的客户端程序&#xff0c;openssh-server则是该协议的服务端程序 常用系统都自带了ssh客户端程序&#xff0c;服务端程序则可能要安装 密码远程登陆 前提&#xff1a;服务器安装了openssh-server&#xff0c;未安装时…

安装bpftrace和bcc的踩坑记录

最后在Ubuntu22.04使用Ubuntu提供的安装命令完成了安装。这里是记录尝试在Ubuntu18.04和Ubuntu22.04使用源码安装未果的过程。 文章目录 22版本安装bcc准备工具安装命令使用报错&#xff1a;iovisor封装的安装方式ubuntu的安装方式 For Bionic (18.04 LTS)官方提供的源码安装准…

Tutorial: Mathmatical Derivation of Backpropagation

目录 1. 概要 2. Gradient Descent 3. Chain rule 3.1 单变量基本链式法则 3.2 单变量全微分链式法则 3.3 小贴士&#xff1a;微分、导数、导函数是什么关系&#xff1f; 4. What and why backpropagation? 5. Backpropagation for a simple neural network 5.1 基于…

哪些存储设备的数据需要注意,防止误删除或者格式化丢失?

以下是一些存储设备的数据要注意&#xff0c;防止误删除或者格式化丢失&#xff1a; 1.硬盘&#xff1a;存储重要数据时要备份&#xff0c;避免硬盘故障、误格式化等情况导致数据丢失。 2.USB闪存驱动器&#xff1a;在拔出USB闪存驱动器前&#xff0c;应该先进行“安全删除”…

Jmeter(三十一):制造大批量的用户数据数据

需求&#xff1a;因测试需要&#xff0c;要造100w用户数据&#xff0c;通过用户名、手机号、密码可新增用户&#xff0c;其中用户名和电话号码要求100w用户不能重复 要点&#xff1a; 1、通过Bean shell Sampler实现用户名和手机号的足够随机。 符合我们常用规则的手机号&#…

element侧边栏子路由点击不高亮问题

最近自己封装侧边栏 又碰到了点击子路由不高亮的问题 <template><div class"aside"><el-scrollbar :vertical"true" class"scrollbar_left_nav"><el-menu :default-active"defaultActive" :collapse"$stor…

关于内网主备+https

先openssl证书 整体流程为&#xff1a; 1、页面访问为https&#xff0c;在电脑修改hosts文件&#xff0c;如域名为 babaozhou.com, 则配置为 ip1 babaozhou.com&#xff0c;ip2 babaozhou.com&#xff1b; 也就是说同域名关联两个ip&#xff0c;这样如果服务器1ping不通了则可…

CTFhub-文件上传-.htaccess

首先上传 .htaccess 的文件 .htaccess SetHandler application/x-httpd-php 这段内容的作用是使所有的文件都会被解析为php文件 然后上传1.jpg 的文件 内容为一句话木马 1.jpg <?php echo "PHP Loaded"; eval($_POST[a]); ?> 用蚁剑连接 http://ch…

遗传算法决策变量降维的matlab实现

1.案例背景 1.1遗传算法概述 遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。它最初由美国Michigan大学的J. Holland教授提出,1967年, Holland 教授的学生 Bagley在其博士论文中首次提出了“遗传…

利用frps搭建本地自签名https服务的透传

nginx的搭建就不介绍了&#xff0c;教程很多&#xff0c;基本上油手就会。 在本例中&#xff0c;frp服务器的域名是 www.yourfrp.com&#xff0c;同时也是反向代理nginx服务器; 本地网站要用的域名&#xff1a; test.abcd.com 请事先将 test.abcd.com 解析到 frp所在服务器…