[pyqt5 인터페이스 도구 개발-14] 초기 초퍼-로그인 도구

목차

0x00 머리말:

1. UI를 로드할 준비가 되었습니다.

2. 해당 트리거 이벤트 획득

3. 트리거 이벤트 바인딩

세 번째, 입력 콘텐츠 호출

3. 로그인 로직 개선


0x00 머리말:

논리 코드 처리 과정에서 데이터 패킷의 요청을 추가하고 데이터 패킷의 판단을 반환하면 로그인 감지를 위한 인터페이스 도구가 완전히 실현될 수 있습니다.



1. UI를 로드할 준비가 되었습니다.

여기 늙은 배우

import sys

from 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_())



2. 해당 트리거 이벤트 획득

그림에서 알 수 있듯이

여기: self.ui가 최상위 레이어이고 다음은 컨트롤입니다.

import sys

from 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_())



3. 트리거 이벤트 바인딩

1. 바인딩 트리거 이벤트 및 해당 로직

2. 논리 처리 함수 작성

import sys

from 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 sys

from 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_())



3. 로그인 로직 개선

1. 관련 데이터 획득 개선

2. 로그인 로직 코드 개선

import sys

from 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_())

올바르게 로그인하세요

잘못된 로그인

추천

출처blog.csdn.net/qq_53079406/article/details/132586254