• 使用PyQt5完成登陆进入主窗体


    login.py

    import sys
    from PyQt5 import QtWidgets, QtCore
    from PyQt5.QtWidgets import QMessageBox
    import ui_login
    import main

    class frmLogin(QtWidgets.QWidget, ui_login.Ui_frmLogin):
    def __init__(self):
    super(frmLogin, self).__init__()
    self.setupUi(self)
    self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint) #禁止最大化按钮

    # 创建槽函数 槽函数直接使用元件的名称:on_元件名称_信号名称(槽装饰器, 区分参数)
    @QtCore.pyqtSlot() #@QtCore.pyqtSlot(bool)
    def on_btnLogin_clicked(self): #自动对应click
    user = self.edtUser.text().strip()
    passwd = self.edtPasswd.text().strip()
    if user == "":
    QMessageBox.warning(self,"警告","用户号不能为空,请输入!")
    return
    if passwd == "":
    QMessageBox.warning(self,"警告","密码不能为空,请输入!")
    return
    if len(user) != 7:
    QMessageBox.warning(self,"警告","用户号长度必须为7位!")
    return
    if len(passwd) < 6:
    QMessageBox.warning(self,"警告","密码长度不能小于6位!")
    return
    if passwd != '123456':
    QMessageBox.warning(self,"警告","密码不符无法登陆!")
    return

    frmMain.show() #打开新窗口
    self.close() #关闭本窗口

    if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    frmLogin = frmLogin()
    frmMain = main.frmMain()
    frmLogin.show()
    sys.exit(app.exec_())
    --------------------------------------------------------------------------
    main.py
    from PyQt5 import QtWidgets
    from PyQt5.QtWidgets import QMessageBox
    from PyQt5.QtCore import Qt
    import ui_main

    class frmMain(QtWidgets.QMainWindow, ui_main.Ui_frmMain):
    def __init__(self):
    super(frmMain, self).__init__()
    self.setupUi(self)

    def closeEvent(self, event):
    reply = QMessageBox.question(self,'提示信息',"您是否退出程序?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
    if reply == QMessageBox.Yes:
    event.accept()
    else:
    event.ignore()

    def keyPressEvent(self, e):
    if e.key() == Qt.Key_Escape:
    self.close()
  • 相关阅读:
    ILM --interface logic model
    dbGet net trace instant pin
    LIST 列表
    Getopt::Long
    TCL Strings
    MBA 报考
    英语 口译考试
    微服务了解
    解析微服务架构(三):微服务重构应用及IBM解决方案
    解析微服务架构(二):融入微服务的企业集成架构
  • 原文地址:https://www.cnblogs.com/zsfishman/p/11483005.html
Copyright © 2020-2023  润新知