• 四.pyqt5 登录界面和功能


    一.使用qt creator 设置登录界面

    在这里插入图片描述
    主界面为之前设计的界面 from123.py
    文章地址:三.listview或tableviw显示

    二.导出ui文件为py文件

    # from123.py 为导出 py文件   form.ui 为 qt creator创造的 ui 文件
    pyuic5 -o x:\xxx\Fromlogin20230809.py form.ui
    
    • 1
    • 2

    三.python 显示登录界面和功能

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'd:\QtcreatorProject\pythonUI\form.ui'
    #
    # Created by: PyQt5 UI code generator 5.15.9
    #
    # WARNING: Any manual changes made to this file will be lost when pyuic5 is
    # run again.  Do not edit this file unless you know what you are doing.
    
    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtCore import  *
    from PyQt5.QtSql import  *
    from PyQt5.QtGui import  *
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    from from123 import Ui_Test
    from Fromlogin20230809 import Ui_login_MainWindow_2
    
    #登录界面
    class login_window(QWidget):
        def __init__(self,parent=None):
            super().__init__(parent)
            self.ui = Ui_login_MainWindow_2()
            self.ui.setupUi(self)
            # 固定大小
            self.setFixedSize(300, 150)
        
            # 设置窗口名
            self.setWindowTitle("登录")   
    
            self.ui.lineEdit.setText('admin')
            self.ui.lineEdit_2.setText('admin12345')
            #连接槽
            self.ui.pushButton.clicked.connect(self.login_button) 
     
        def login_button(self):
            if self.ui.lineEdit.text()=="":
                QMessageBox.warning(self, '警告', '密码不能为空,请输入!')
                return None
     
            # if  self.password == self.lineEdit.text():
            print(self.ui.lineEdit.text(),self.ui.lineEdit_2.text())
            # if (self.lineEdit.text()== self.Password) and self.lineEdit_2.text()== self.admin:
            if (self.ui.lineEdit.text()== 'admin') and self.ui.lineEdit_2.text()== 'admin12345':
                # Ui_Main = Open_Camera()  # 生成主窗口的实例
                # 1打开新窗口
                Ui_Main.show()
                # 2关闭本窗口
                self.close()
            else:
                QMessageBox.critical(self, '错误', '密码错误!')
                self.lineEdit.clear()
                return None
    #主界面
    class QmyMainWindow(QWidget):
    
        def __init__(self,parent=None):
            super().__init__(parent)
    
            self.ui = Ui_Test()
            self.ui.setupUi(self)
        def Update(self):
            # // 生成一个四行两列的模型
            self.TableModel = QStandardItemModel()
            # 表头
            self.TableModel.setHorizontalHeaderLabels(['a','b','c'])
            for row in range(4):
                for column in range(2):
                    item = QStandardItem(str(row))
                    # 设置每个位置的文本值
                    self.TableModel.setItem(row, column, item)
            
            self.ui.tableView.setModel(self.TableModel)
    
                
    
        def on_listWidget_customContextMenuRequested(self,pos):  ##右键快捷菜单  策略情况
            menuList=QMenu(self)    #创建菜单
            menuList.addAction(self.ui.actionsa) 
            menuList.exec(QCursor.pos())  #显示菜单
    
    
    if __name__ == "__main__":
        QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)#自适应分辨率
     
        app = QtWidgets.QApplication(sys.argv)
        window = login_window()
        Ui_Main = QmyMainWindow(None)# 生成主窗口的实例
        window.show()
     
        sys.exit(app.exec_())
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93

    四.结果

    在这里插入图片描述

    点击登录后显示主界面
    在这里插入图片描述

  • 相关阅读:
    LeetCode 热题100——栈与队列专题(三)
    UML(类图进阶和对象图)
    游戏出现卡顿有哪些因素
    在UE4(Unreal Engine4)中安装 Quixel Bridge Megascans bridget插件
    Matlab软件使用教学
    初级篇—第一章初识数据库
    Spring 注册 Bean 在配置中的定义和使用 Autowired
    Istio(九):istio安全之授权
    2022年“新一代”设备管理系统——支持低代码平台
    【C++内存管理】
  • 原文地址:https://blog.csdn.net/qq_33253054/article/details/134248730