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


    目录

    0x00 前言:

    一、准备好ui的加载

    二、获取对应的触发事件

    三、触发事件绑定

    三、输入内容的调用

    三、完善登录逻辑


    0x00 前言:

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



    一、准备好ui的加载

    老演员来了

    1. import sys
    2. from PyQt5 import uic
    3. from PyQt5.QtWidgets import *
    4. class MyWindow(QWidget):
    5. def __init__(self):
    6. super().__init__()
    7. self.init_ui()
    8. def init_ui(self):
    9. self.ui = uic.loadUi("./my_win.ui")
    10. if __name__ == '__main__':
    11. app = QApplication(sys.argv)
    12. w = MyWindow()
    13. w.ui.show() # 展示窗口
    14. sys.exit(app.exec_())



    二、获取对应的触发事件

    如图所示

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

    1. import sys
    2. from PyQt5 import uic
    3. from PyQt5.QtWidgets import *
    4. class MyWindow(QWidget):
    5. def __init__(self):
    6. super().__init__()
    7. self.init_ui()
    8. def init_ui(self):
    9. self.ui = uic.loadUi("./my_win.ui")
    10. # ————————————————————————————————————————————————————————————————————
    11. # 与布局中控件相对应
    12. # 获取对应触发事件
    13. user_name = self.ui.lineEdit # 用户名
    14. password = self.ui.lineEdit_2 # 获取密码
    15. login_btn = self.ui.pushButton # 登录按钮
    16. forget_btn = self.ui.pushButton_2 # 忘记密码
    17. text_browser = self.ui.textBrowser # 文本显示区域
    18. # ——————————————————————————————————————————————————————————————-——————
    19. if __name__ == '__main__':
    20. app = QApplication(sys.argv)
    21. w = MyWindow()
    22. w.ui.show() # 展示窗口
    23. sys.exit(app.exec_())



    三、触发事件绑定

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

    2、写好逻辑处理函数

    1. import sys
    2. from PyQt5 import uic
    3. from PyQt5.QtWidgets import *
    4. class MyWindow(QWidget):
    5. def __init__(self):
    6. super().__init__()
    7. self.init_ui()
    8. def init_ui(self):
    9. self.ui = uic.loadUi("./my_win.ui")
    10. # 获取对应触发事件
    11. user_name = self.ui.lineEdit # 用户名
    12. password = self.ui.lineEdit_2 # 获取密码
    13. login_btn = self.ui.pushButton # 登录按钮
    14. forget_btn = self.ui.pushButton_2 # 忘记密码
    15. text_browser = self.ui.textBrowser # 文本显示区域
    16. # —————————————————————————————————————————————————————————————————————
    17. # 新增如下
    18. # 绑定登陆事件的逻辑
    19. login_btn.clicked.connect(self.login)
    20. def login(self):
    21. # 登录逻辑
    22. print("正在登录中")
    23. # ———————————————————————————————————————————————————————————————————————
    24. if __name__ == '__main__':
    25. app = QApplication(sys.argv)
    26. w = MyWindow()
    27. w.ui.show() # 展示窗口
    28. sys.exit(app.exec_())



    三、输入内容的调用

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

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

    1. import sys
    2. from PyQt5 import uic
    3. from PyQt5.QtWidgets import *
    4. class MyWindow(QWidget):
    5. def __init__(self):
    6. super().__init__()
    7. self.init_ui()
    8. def init_ui(self):
    9. self.ui = uic.loadUi("./my_win.ui")
    10. # 获取对应触发事件
    11. # ————————————————————————————————————————————————————————————————————————
    12. # 获取到用户输入
    13. self.user_name = self.ui.lineEdit # 用户名
    14. self.password = self.ui.lineEdit_2 # 获取密码
    15. # ————————————————————————————————————————————————————————————————————————
    16. login_btn = self.ui.pushButton # 登录按钮
    17. forget_btn = self.ui.pushButton_2 # 忘记密码
    18. text_browser = self.ui.textBrowser # 文本显示区域
    19. # 绑定登陆事件的逻辑
    20. login_btn.clicked.connect(self.login)
    21. def login(self):
    22. # 登录逻辑
    23. print("正在登录中")
    24. #————————————————————————————————————————————————————————————————————————
    25. # 在其他部分调用(并转换格式)
    26. print(self.user_name.text())
    27. print(self.password.text())
    28. #————————————————————————————————————————————————————————————————————————
    29. if __name__ == '__main__':
    30. app = QApplication(sys.argv)
    31. w = MyWindow()
    32. w.ui.show() # 展示窗口
    33. sys.exit(app.exec_())



    三、完善登录逻辑

    1、完善相关数据的获取

    2、完善登录的逻辑代码

    1. import sys
    2. from PyQt5 import uic
    3. from PyQt5.QtWidgets import *
    4. class MyWindow(QWidget):
    5. def __init__(self):
    6. super().__init__()
    7. self.init_ui()
    8. def init_ui(self):
    9. self.ui = uic.loadUi("./my_win.ui")
    10. # ——————————————————————————————————————————————————————————————————————————
    11. # 完善相关数据的获取
    12. # 获取对应触发事件
    13. self.user_name = self.ui.lineEdit # 用户名
    14. self.password = self.ui.lineEdit_2 # 获取密码
    15. self.login_btn = self.ui.pushButton # 登录按钮
    16. self.forget_btn = self.ui.pushButton_2 # 忘记密码
    17. self.text_browser = self.ui.textBrowser # 文本显示区域
    18. #
    19. # ——————————————————————————————————————————————————————————————————————————
    20. # 绑定登陆事件的逻辑
    21. self.login_btn.clicked.connect(self.login)
    22. # ——————————————————————————————————————————————————————————————————————————
    23. # 完善登录逻辑
    24. def login(self):
    25. # 登录逻辑
    26. uname = self.user_name.text()
    27. pw = self.password.text()
    28. if uname == "admin" and pw == "123456":
    29. self.text_browser.setText("欢迎%s回来" % uname)
    30. self.text_browser.repaint()
    31. else:
    32. self.text_browser.setText("%s的用户名或密码错误" % uname)
    33. self.text_browser.repaint()
    34. #
    35. # ——————————————————————————————————————————————————————————————————————————
    36. if __name__ == '__main__':
    37. app = QApplication(sys.argv)
    38. w = MyWindow()
    39. w.ui.show() # 展示窗口
    40. sys.exit(app.exec_())

    正确登录

    错误登录

  • 相关阅读:
    【毕业设计】基于php+mysql+apache的网络数据包分析工具设计与实现(毕业论文+程序源码)——网络数据包分析工具
    图神经网络详细内容
    JAVA学习-基础部分【1】
    承包商在工程结算争议里能扭转乾坤的几点
    【Linux】进程间是这样通信的--管道篇
    Astory 访谈|了解「非常律师禹英禑」背后的故事
    从离线到实时对客,湖仓一体释放全量数据价值
    【Redis】基础数据结构-quicklist
    CentOS7和CentOS8 Asterisk 20.0.0 简单图形化界面8--PJSIP的环境NAT设置
    SPA项目之主页面--数据表格的增删改查
  • 原文地址:https://blog.csdn.net/qq_53079406/article/details/132586254