pyqt5含め、シンプルなログイン画面をデザインするパスワード機能を覚えておいてください

 

PyQt5 インポート *の
 輸入のConfigParser
 から無題の輸入Ui_MainWindow
 から PyQt5の輸入QtWidgets
 から PyQt5 輸入QtCore
 輸入のsys 


クラスUI(オブジェクト):
     デフ __init__ (自己):
        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 その他(自己):
        self.ui.lineEdit_2.setEchoMode(QtWidgets.QLineEdit.Password)
        self.component_connect()
        self.load_config()

    デフwin_adjust(自己):
         インポートのWin32API、win32con
         #1 self.window.resize(win32api.GetSystemMetrics(win32con.SM_CXSCREEN )/ 2、
        #1                     win32api.GetSystemMetrics(win32con.SM_CYSCREEN)/ 2)

    DEF component_connect(自己):
        self.ui.pushButton.clicked.connect(self.login)

    デフload_config(自己):
        設定 = configparser.ConfigParser()
        ファイル = config.read(' user.ini ' 
        config_dict = config.defaults()
        self.user_name = config_dict [ ' USER_NAME ' ] 
        self.ui.lineEdit.setText(self.user_name)
        もし config_dict [ ' 覚えて' ==] ' ' 
            self.password = config_dict [ " パスワード" ] 
            self.ui.lineEdit_2.setText(self.password)
            self.ui.checkBox.setChecked(真の)
        
            self.ui.checkBox.setChecked(偽)

    デフログイン(自己):
        self.user_name = self.ui. lineEdit.text()
        self.password = self.ui.lineEdit_2.text()
        設定 = configparser.ConfigParser()
         もしself.ui.checkBox.isChecked():
            コンフィグ[ " DEFAULT " ] = {
                 " USER_NAME " :自己。 USER_NAME、
                 "パスワード" :self.password、
                 " 覚えている" :self.ui.checkBox.isChecked()
            } 
        
            コンフィグ[ " DEFAULT " ] = {
                 " USER_NAME " :self.user_name、
                 " パスワード""" " 覚えています。 self.ui.checkBox.isChecked()
            } 
        (オープンと' user.ini '' W ')したconfigfileのように:
            config.write((たconfigfile))

        プリント(self.user_name、self.password)
    

であれば __name__ == ' __main__ ' #の間など輸入reInterpreter 
    UI = UI()

#以下は、QTデザイナーによって生成されたインターフェイスのコードです:

- * -コーディング:UTF-8 - - * 

#のUIファイル'untitled.ui'読みから生成されたフォームの実装
#のPyQt5 UIコードジェネレータ5.11.3作成者:
#1 
#の警告!このファイルに行われたすべての変更は失われます!

PyQt5 インポートQtCore、QtGui、QtWidgetsのクラス:Ui_MainWindow(オブジェクト)
     DEF setupUi(自己、メインウィンドウ):
        MainWindow.setObjectName(" メインウィンドウ" 
        MainWindow.resize( 315、226 
        self.centralwidget =

 QtWidgets.QWidget(メインウィンドウ)
        self.centralwidget.setObjectName("centralwidget " 
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName(" グリッドレイアウト" 
        self.horizo​​ntalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizo​​ntalLayout_4.setObjectName(" horizo​​ntalLayout_4 
        spacerItem = QtWidgets.QSpacerItem( 40、20 、QtWidgets.QSizePolicy.Expanding、QtWidgets.QSizePolicy.Minimum)
        self.horizo​​ntalLayout_4.addItem(spacerItem)
        self.pushButton = QtWidgets.QPushButton(self.centralwidget) 
        self.pushButton.setObjectName(" プッシュボタン" 
        self.horizo​​ntalLayout_4.addWidget(self.pushButton)
        spacerItem1 = QtWidgets.QSpacerItem(40、20 、QtWidgets.QSizePolicy.Expanding、QtWidgets.QSizePolicy.Minimum)
        self.horizo​​ntalLayout_4.addItem(spacerItem1)
        self.gridLayout.addLayout(self.horizo​​ntalLayout_4、 5、0、1、1 
        spacerItem2 = QtWidgets.QSpacerItem(20、40 、QtWidgets.QSizePolicy.Minimum、QtWidgets.QSizePolicy.Expanding)
        自己。 gridLayout.addItem(spacerItem2、0、0、 1、1 
        self.horizo​​ntalLayout = QtWidgets.QHBoxLayout()
        self.horizo​​ntalLayout.setObjectName(" horizo​​ntalLayout " 
        spacerItem3 = QtWidgets.QSpacerItem(40、20 、QtWidgets.QSizePolicy.Expanding、QtWidgets.QSizePolicy.Minimum)
        self.horizo​​ntalLayout.addItem(spacerItem3)
        self.label_2 = QtWidgets.QLabel(自己。 centralwidget)
        self.label_2.setObjectName(" label_2 " 
        self.horizo​​ntalLayout.addWidget(self.label_2)
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setObjectName(" lineEdit_2 " 
        self.horizo​​ntalLayout.addWidget(self.lineEdit_2)
        spacerItem4 = QtWidgets.QSpacerItem(40、20 、QtWidgets.QSizePolicy.Expanding、QtWidgets.QSizePolicy.Minimum)
        self.horizo​​ntalLayout.addItem(spacerItem4)
        self.gridLayout.addLayout(self.horizo​​ntalLayout、 2、0、1、1 
        self.horizo​​ntalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizo​​ntalLayout_2.setObjectName(" horizo​​ntalLayout_2 " 
        spacerItem5 = QtWidgets.QSpacerItem(40、20 、QtWidgets.QSizePolicy.Expanding、QtWidgets.QSizePolicy.Minimum )
        self.horizo​​ntalLayout_2.addItem(spacerItem5)
        self.label =QtWidgets.QLabel(self.centralwidget)
        self.label.setObjectName(" ラベル" 
        self.horizo​​ntalLayout_2.addWidget(self.label)
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setObjectName(" LINEEDIT " 
        self.horizo​​ntalLayout_2.addWidget(self.lineEdit)
        spacerItem6 = QtWidgets.QSpacerItem(40、20 、QtWidgets.QSizePolicy.Expanding、QtWidgets.QSizePolicy.Minimum) 
        self.horizo​​ntalLayout_2.addItem(spacerItem6 )
        self.gridLayout.addLayout(self.horizo​​ntalLayout_2、 1、0、1、1 
        self.horizo​​ntalLayout_3 =QtWidgets.QHBoxLayout()
        self.horizo​​ntalLayout_3.setObjectName(" horizo​​ntalLayout_3 " 
        spacerItem7 = QtWidgets.QSpacerItem(40、20 、QtWidgets.QSizePolicy.Expanding、QtWidgets.QSizePolicy.Minimum)
        self.horizo​​ntalLayout_3.addItem(spacerItem7)
        self.checkBox = QtWidgets .QCheckBox(self.centralwidget)
        self.checkBox.setObjectName(" するcheckBox "  
        self.horizo​​ntalLayout_3.addWidget(self.checkBox)
        self.checkBox_2 = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox_2.setObjectName(" checkBox_2 " 
        self.horizo​​ntalLayout_3.addWidget(self.checkBox_2)
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setStyleSheet(" 背景色:RGBA(0,0,0,0); " 
        self.pushButton_2。 setObjectName(" pushButton_2 " 
        self.horizo​​ntalLayout_3.addWidget(self.pushButton_2)
        spacerItem8 = QtWidgets.QSpacerItem(40、20、QtWidgets.QSizePolicy.Expanding、QtWidgets.QSizePolicy.Minimum)
        self.horizo​​ntalLayout_3.addItem(spacerItem8)
        self.gridLayout.addLayout(self.horizo​​ntalLayout_3、 4、0、1、1 
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(メインウィンドウ)
        self.menubar.setGeometry(QtCore.QRect(0、0、 315、18 ))
        self.menubar.setObjectName(" メニューバー" 
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar (メインウィンドウ)
        self.statusbar.setObjectName(ステータスバー" 
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(メインウィンドウ)
        QtCore.QMetaObject.connectSlotsByName(メインウィンドウ)

    DEFretranslateUi(自己、メインウィンドウ):
        _translate = QtCore.QCoreApplication.translate 
        MainWindow.setWindowTitle(_translate(" メインウィンドウ"" メインウィンドウ" ))
        self.pushButton.setText(_translate(" メインウィンドウ""                  登陆                 " ))
        self.label_2。 setText(_translate(" メインウィンドウ"" 密码         " ))
        self.label.setText(_translate(" メインウィンドウ" " ユーザ名       " ))
        self.checkBox.setText(_translate(" メインウィンドウ" " パスワードを覚えている" ))
        self.checkBox_2.setText( _translate(" メインウィンドウ"" 自動ログイン" ))
        self.pushButton_2.setText(_translate(" メインウィンドウ"    パスワードを忘れました"))

 

おすすめ

転載: www.cnblogs.com/pqhuang/p/11404402.html