PyQt5是強大的GUI工具之一,通過其可以實現(xiàn)優(yōu)秀的桌面應(yīng)用程序。希望通過一個簡單的登錄頁面可以讓大家順利入坑,如有不妥之處還請大佬指點改正!
導入業(yè)務(wù)需要的所有的擴展包。
1
2
3
4
|
import sys # 系統(tǒng)參數(shù)操作 from PyQt5.QtWidgets import * # 模塊包含創(chuàng)造經(jīng)典桌面風格的用戶界面提供了一套UI元素的類 from PyQt5.QtCore import * # 此模塊用于處理時間、文件和目錄、各種數(shù)據(jù)類型、流、URL、MIME類型、線程或進程 from PyQt5.QtGui import * # 含類窗口系統(tǒng)集成、事件處理、二維圖形、基本成像、字體和文本 |
創(chuàng)建主界面窗口。
1
2
3
4
5
6
7
8
9
10
11
|
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 ) |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
class LoginDialog(QDialog): def __init__( self , * args, * * kwargs): ''' 構(gòu)造函數(shù),初始化登錄對話框的內(nèi)容 :param args: :param kwargs: ''' super ().__init__( * args, * * kwargs) self .setWindowTitle( '歡迎登錄' ) # 設(shè)置標題 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è)置默認顯示的提示語 self .verticalLayout.addWidget( self .login_id) # 將該登錄賬戶設(shè)置添加到頁面控件 self .passwd = QLineEdit() # 定義密碼輸入框 self .passwd.setPlaceholderText( "請輸入登錄密碼" ) # 設(shè)置默認顯示的提示語 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 ): # 校驗賬號是否正確 if self .login_id.text() ! = "admin" : print ( "test1" ) return # 校驗密碼是否正確 if self .passwd.text() ! = "admin@1234" : print ( "test2" ) return # 驗證通過,設(shè)置QDialog對象狀態(tài)為允許 self .accept() |
最后通過mian入口函數(shù)啟動應(yīng)用。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
if __name__ = = "__main__" : # 創(chuàng)建應(yīng)用 window_application = QApplication(sys.argv) # 設(shè)置登錄窗口 login_ui = LoginDialog() # 校驗是否驗證通過 if login_ui.exec_() = = QDialog.Accepted: # 初始化主功能窗口 main_window = MainWindow() # 展示窗口 main_window.show() # 設(shè)置應(yīng)用退出 sys.exit(window_application.exec_()) |
到此這篇關(guān)于 PyQt5實現(xiàn)用戶登錄GUI界面及登錄后跳轉(zhuǎn)的文章就介紹到這了,更多相關(guān) PyQt5 用戶登錄GUI界面內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://www.cnblogs.com/lwsbc/p/15525984.html