zoukankan      html  css  js  c++  java
  • pyqt5 设计简单登陆界面,含记住密码功能

    from PyQt5 import *
    import configparser
    from untitled import Ui_MainWindow
    from PyQt5 import QtWidgets
    from PyQt5 import QtCore
    import sys
    
    
    class UI(object):
        def __init__(self):
            QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
            self.app = QtWidgets.QApplication(sys.argv)  # 生成应用
            self.window = QtWidgets.QMainWindow()  # 生成窗口q
            self.ui = Ui_MainWindow()  # 使用QTdesigner自动创建的类
            self.ui.setupUi(self.window)
            self.win_adjust()
            self.window.show()
            self.others()
            sys.exit(self.app.exec_())
    
        def others(self):
            self.ui.lineEdit_2.setEchoMode(QtWidgets.QLineEdit.Password)
            self.component_connect()
            self.load_config()
    
        def win_adjust(self):
            import win32api, win32con
            # self.window.resize(win32api.GetSystemMetrics(win32con.SM_CXSCREEN) / 2,
            #                    win32api.GetSystemMetrics(win32con.SM_CYSCREEN) / 2)
    
        def component_connect(self):
            self.ui.pushButton.clicked.connect(self.login)
    
        def load_config(self):
            config = configparser.ConfigParser()
            file = config.read('user.ini')
            config_dict = config.defaults()
            self.user_name = config_dict['user_name']
            self.ui.lineEdit.setText(self.user_name)
            if config_dict['remember'] == 'True':
                self.password = config_dict['password']
                self.ui.lineEdit_2.setText(self.password)
                self.ui.checkBox.setChecked(True)
            else:
                self.ui.checkBox.setChecked(False)
    
        def login(self):
            self.user_name = self.ui.lineEdit.text()
            self.password = self.ui.lineEdit_2.text()
            config = configparser.ConfigParser()
            if self.ui.checkBox.isChecked():
                config["DEFAULT"] = {
                    "user_name": self.user_name,
                    "password": self.password,
                    "remember": self.ui.checkBox.isChecked()
                }
            else:
                config["DEFAULT"] = {
                    "user_name": self.user_name,
                    "password": "",
                    "remember": self.ui.checkBox.isChecked()
                }
            with open('user.ini', 'w')as configfile:
                config.write((configfile))
    
            print(self.user_name, self.password)
        
    
    if __name__ == '__main__':
        # import reInterpreter as inter
        ui = UI()

    #以下为QT设计师生成的界面代码:

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'untitled.ui'
    #
    # Created by: PyQt5 UI code generator 5.11.3
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(315, 226)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
            self.gridLayout.setObjectName("gridLayout")
            self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
            self.horizontalLayout_4.setObjectName("horizontalLayout_4")
            spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
            self.horizontalLayout_4.addItem(spacerItem)
            self.pushButton = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton.setObjectName("pushButton")
            self.horizontalLayout_4.addWidget(self.pushButton)
            spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
            self.horizontalLayout_4.addItem(spacerItem1)
            self.gridLayout.addLayout(self.horizontalLayout_4, 5, 0, 1, 1)
            spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
            self.gridLayout.addItem(spacerItem2, 0, 0, 1, 1)
            self.horizontalLayout = QtWidgets.QHBoxLayout()
            self.horizontalLayout.setObjectName("horizontalLayout")
            spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
            self.horizontalLayout.addItem(spacerItem3)
            self.label_2 = QtWidgets.QLabel(self.centralwidget)
            self.label_2.setObjectName("label_2")
            self.horizontalLayout.addWidget(self.label_2)
            self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit_2.setObjectName("lineEdit_2")
            self.horizontalLayout.addWidget(self.lineEdit_2)
            spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
            self.horizontalLayout.addItem(spacerItem4)
            self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1)
            self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
            self.horizontalLayout_2.setObjectName("horizontalLayout_2")
            spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
            self.horizontalLayout_2.addItem(spacerItem5)
            self.label = QtWidgets.QLabel(self.centralwidget)
            self.label.setObjectName("label")
            self.horizontalLayout_2.addWidget(self.label)
            self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit.setObjectName("lineEdit")
            self.horizontalLayout_2.addWidget(self.lineEdit)
            spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
            self.horizontalLayout_2.addItem(spacerItem6)
            self.gridLayout.addLayout(self.horizontalLayout_2, 1, 0, 1, 1)
            self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
            self.horizontalLayout_3.setObjectName("horizontalLayout_3")
            spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
            self.horizontalLayout_3.addItem(spacerItem7)
            self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
            self.checkBox.setObjectName("checkBox")
            self.horizontalLayout_3.addWidget(self.checkBox)
            self.checkBox_2 = QtWidgets.QCheckBox(self.centralwidget)
            self.checkBox_2.setObjectName("checkBox_2")
            self.horizontalLayout_3.addWidget(self.checkBox_2)
            self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton_2.setStyleSheet("background-color:rgba(0,0,0,0);")
            self.pushButton_2.setObjectName("pushButton_2")
            self.horizontalLayout_3.addWidget(self.pushButton_2)
            spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
            self.horizontalLayout_3.addItem(spacerItem8)
            self.gridLayout.addLayout(self.horizontalLayout_3, 4, 0, 1, 1)
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 315, 18))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)
    
            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
            self.pushButton.setText(_translate("MainWindow", "                 登陆                "))
            self.label_2.setText(_translate("MainWindow", "密码        "))
            self.label.setText(_translate("MainWindow", "用户名      "))
            self.checkBox.setText(_translate("MainWindow", "记住密码"))
            self.checkBox_2.setText(_translate("MainWindow", "自动登陆"))
            self.pushButton_2.setText(_translate("MainWindow", "    找回密码"))
    随便用
  • 相关阅读:
    use paramiko to connect remote server and execute command
    protect golang source code
    adjust jedi vim to python2 and python3
    install vim plugin local file offline
    add swap file if you only have 1G RAM
    datatables hyperlink in td
    django rest framework custom json format
    【JAVA基础】网络编程
    【JAVA基础】多线程
    【JAVA基础】String类的概述和使用
  • 原文地址:https://www.cnblogs.com/pqhuang/p/11404402.html
Copyright © 2011-2022 走看看