• 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", "    找回密码"))
    随便用
  • 相关阅读:
    Configuring ISC DHCPv6 Server
    不兼容的签名实现,
    12个Flex常用功能代码
    水平和垂直翻转可视对象
    在as3中只有事件(或该事件的子级)的发送者才能侦听事件
    addChild一个.swf时,该swf的背景色失效,同时如有超出大小的范围,也会显示,造成边距
    1.随机函数,计算机运行的基石
    flex builder3如何设置默认浏览器
    字体轮廓和设备字体
    Flex Develpment中右边的框的linkWithEdit
  • 原文地址:https://www.cnblogs.com/pqhuang/p/11404402.html
Copyright © 2020-2023  润新知