PyQt5實(shí)現(xiàn)用戶登錄GUI界面及登錄后跳轉(zhuǎn)
PyQt5是強(qiáng)大的GUI工具之一,通過其可以實(shí)現(xiàn)優(yōu)秀的桌面應(yīng)用程序。希望通過一個(gè)簡(jiǎn)單的登錄頁面可以讓大家順利入坑,如有不妥之處還請(qǐng)大佬指點(diǎn)改正!
導(dǎo)入業(yè)務(wù)需要的所有的擴(kuò)展包。
import sys # 系統(tǒng)參數(shù)操作 from PyQt5.QtWidgets import * # 模塊包含創(chuàng)造經(jīng)典桌面風(fēng)格的用戶界面提供了一套UI元素的類 from PyQt5.QtCore import * # 此模塊用于處理時(shí)間、文件和目錄、各種數(shù)據(jù)類型、流、URL、MIME類型、線程或進(jìn)程 from PyQt5.QtGui import * # 含類窗口系統(tǒng)集成、事件處理、二維圖形、基本成像、字體和文本
創(chuàng)建主界面窗口。
class MainWindow(QMainWindow): def __init__(self, *args, **kwargs): ''' 構(gòu)造函數(shù),初始化參數(shù)屬性 :param args: :param kwargs: ''' super().__init__(*args, **kwargs) self.setWindowTitle('主功能頁面') self.setFixedWidth(600) self.setFixedHeight(600)
class LoginDialog(QDialog): def __init__(self, *args, **kwargs): ''' 構(gòu)造函數(shù),初始化登錄對(duì)話框的內(nèi)容 :param args: :param kwargs: ''' super().__init__(*args, **kwargs) self.setWindowTitle('歡迎登錄') # 設(shè)置標(biāo)題 self.resize(200, 200) # 設(shè)置寬、高 self.setFixedSize(self.width(), self.height()) self.setWindowFlags(Qt.WindowCloseButtonHint) # 設(shè)置隱藏關(guān)閉X的按鈕 ''' 定義界面控件設(shè)置 ''' self.frame = QFrame(self) # 初始化 Frame對(duì)象 self.verticalLayout = QVBoxLayout(self.frame) # 設(shè)置橫向布局 self.verticalLayout self.login_id = QLineEdit() # 定義用戶名輸入框 self.login_id.setPlaceholderText("請(qǐng)輸入登錄賬號(hào)") # 設(shè)置默認(rèn)顯示的提示語 self.verticalLayout.addWidget(self.login_id) # 將該登錄賬戶設(shè)置添加到頁面控件 self.passwd = QLineEdit() # 定義密碼輸入框 self.passwd.setPlaceholderText("請(qǐng)輸入登錄密碼") # 設(shè)置默認(rèn)顯示的提示語 self.verticalLayout.addWidget(self.passwd) # 將該登錄密碼設(shè)置添加到頁面控件 self.button_enter = QPushButton() # 定義登錄按鈕 self.button_enter.setText("登錄") # 按鈕顯示值為登錄 self.verticalLayout.addWidget(self.button_enter) # 將按鈕添加到頁面控件 self.button_quit = QPushButton() # 定義返回按鈕 self.button_quit.setText("返回") # 按鈕顯示值為返回 self.verticalLayout.addWidget(self.button_quit) # 將按鈕添加到頁面控件 # 綁定按鈕事件 self.button_enter.clicked.connect(self.button_enter_verify) self.button_quit.clicked.connect( QCoreApplication.instance().quit) # 返回按鈕綁定到退出 def button_enter_verify(self): # 校驗(yàn)賬號(hào)是否正確 if self.login_id.text() != "admin": print("test1") return # 校驗(yàn)密碼是否正確 if self.passwd.text() != "admin@1234": print("test2") return # 驗(yàn)證通過,設(shè)置QDialog對(duì)象狀態(tài)為允許 self.accept()
最后通過mian入口函數(shù)啟動(dòng)應(yīng)用。
if __name__ == "__main__": # 創(chuàng)建應(yīng)用 window_application = QApplication(sys.argv) # 設(shè)置登錄窗口 login_ui = LoginDialog() # 校驗(yàn)是否驗(yàn)證通過 if login_ui.exec_() == QDialog.Accepted: # 初始化主功能窗口 main_window = MainWindow() # 展示窗口 main_window.show() # 設(shè)置應(yīng)用退出 sys.exit(window_application.exec_())
到此這篇關(guān)于 PyQt5實(shí)現(xiàn)用戶登錄GUI界面及登錄后跳轉(zhuǎn)的文章就介紹到這了,更多相關(guān) PyQt5 用戶登錄GUI界面內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。