PyQt5實(shí)現(xiàn)用戶登錄GUI界面及登錄后跳轉(zhuǎn)
PyQt5是強(qiáng)大的GUI工具之一,通過其可以實(shí)現(xiàn)優(yōu)秀的桌面應(yī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ù)據(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ù),初始化登錄對話框的內(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對象 self.verticalLayout = QVBoxLayout(self.frame) # 設(shè)置橫向布局 self.verticalLayout self.login_id = QLineEdit() # 定義用戶名輸入框 self.login_id.setPlaceholderText("請輸入登錄賬號") # 設(shè)置默認(rèn)顯示的提示語 self.verticalLayout.addWidget(self.login_id) # 將該登錄賬戶設(shè)置添加到頁面控件 self.passwd = QLineEdit() # 定義密碼輸入框 self.passwd.setPlaceholderText("請輸入登錄密碼") # 設(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)賬號是否正確 if self.login_id.text() != "admin": print("test1") return # 校驗(yàn)密碼是否正確 if self.passwd.text() != "admin@1234": print("test2") return # 驗(yàn)證通過,設(shè)置QDialog對象狀態(tài)為允許 self.accept()
最后通過mian入口函數(shù)啟動應(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Python 命令行參數(shù)argparse寫入圖片路徑操作
這篇文章主要介紹了淺談Python 命令行參數(shù)argparse寫入圖片路徑操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07python調(diào)用stitcher類自動實(shí)現(xiàn)多個圖像拼接融合功能
這篇文章主要介紹了python調(diào)用stitcher類自動實(shí)現(xiàn)多個圖像拼接融合功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04Python實(shí)現(xiàn)按學(xué)生年齡排序的實(shí)際問題詳解
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)按學(xué)生年齡排序?qū)嶋H問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08Python3使用Selenium獲取session和token方法詳解
這篇文章主要介紹了Python3使用Selenium獲取session和token方法詳解,需要的朋友可以參考下2021-02-02