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", " 找回密码"))
随便用