PyQt5實(shí)現(xiàn)用戶登錄GUI界面及登錄后跳轉(zhuǎn)
PyQt5是強(qiáng)大的GUI工具之一,通過其可以實(shí)現(xiàn)優(yōu)秀的桌面應(yīng)用程序。希望通過一個(gè)簡(jiǎn)單的登錄頁(yè)面可以讓大家順利入坑,如有不妥之處還請(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('主功能頁(yè)面')
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è)置添加到頁(yè)面控件
self.passwd = QLineEdit() # 定義密碼輸入框
self.passwd.setPlaceholderText("請(qǐng)輸入登錄密碼") # 設(shè)置默認(rèn)顯示的提示語
self.verticalLayout.addWidget(self.passwd) # 將該登錄密碼設(shè)置添加到頁(yè)面控件
self.button_enter = QPushButton() # 定義登錄按鈕
self.button_enter.setText("登錄") # 按鈕顯示值為登錄
self.verticalLayout.addWidget(self.button_enter) # 將按鈕添加到頁(yè)面控件
self.button_quit = QPushButton() # 定義返回按鈕
self.button_quit.setText("返回") # 按鈕顯示值為返回
self.verticalLayout.addWidget(self.button_quit) # 將按鈕添加到頁(yè)面控件
# 綁定按鈕事件
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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于django python manage.py startapp 應(yīng)用名出錯(cuò)異常原因解析
這篇文章主要介紹了關(guān)于django python manage.py startapp 應(yīng)用名出錯(cuò)異常原因解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Pycharm中python調(diào)用另一個(gè)文件類或者函數(shù)
本文主要介紹了Pycharm中python調(diào)用另一個(gè)文件類或者函數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
python將excel轉(zhuǎn)換為csv的代碼方法總結(jié)
在本篇文章里小編給大家分享了關(guān)于python如何將excel轉(zhuǎn)換為csv的實(shí)例方法和代碼內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-07-07
簡(jiǎn)單介紹Python的Tornado框架中的協(xié)程異步實(shí)現(xiàn)原理
這篇文章主要介紹了簡(jiǎn)單介紹Python的Tornado框架中的協(xié)程異步實(shí)現(xiàn)原理,作者基于Python的生成器講述了Tornado異步的特點(diǎn),需要的朋友可以參考下2015-04-04
pytorch多GPU并行運(yùn)算的實(shí)現(xiàn)
這篇文章主要介紹了pytorch多GPU并行運(yùn)算的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

