PyQt5是強大的GUI工具之一,通過其可以實現優秀的桌面應用程序。希望通過一個簡單的登錄頁面可以讓大家順利入坑,如有不妥之處還請大佬指點改正!
導入業務需要的所有的擴展包。
import sys # 系統參數操作
from PyQt5.QtWidgets import * # 模塊包含創造經典桌面風格的用戶界面提供了一套UI元素的類
from PyQt5.QtCore import * # 此模塊用於處理時間、文件和目錄、各種數據類型、流、URL、MIME類型、線程或進程
from PyQt5.QtGui import * # 含類窗口系統集成、事件處理、二維圖形、基本成像、字體和文本
創建主界面窗口。
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
'''
構造函數,初始化參數屬性
:param args:
:param kwargs:
'''
super().__init__(*args, **kwargs)
self.setWindowTitle('主功能頁面')
self.setFixedWidth(600)
self.setFixedHeight(600)
創建登錄對話框。
class LoginDialog(QDialog):
def __init__(self, *args, **kwargs):
'''
構造函數,初始化登錄對話框的內容
:param args:
:param kwargs:
'''
super().__init__(*args, **kwargs)
self.setWindowTitle('歡迎登錄') # 設置標題
self.resize(200, 200) # 設置寬、高
self.setFixedSize(self.width(), self.height())
self.setWindowFlags(Qt.WindowCloseButtonHint) # 設置隱藏關閉X的按鈕
'''
定義界面控件設置
'''
self.frame = QFrame(self) # 初始化 Frame對象
self.verticalLayout = QVBoxLayout(self.frame) # 設置橫向布局
self.verticalLayout
self.login_id = QLineEdit() # 定義用戶名輸入框
self.login_id.setPlaceholderText("請輸入登錄賬號") # 設置默認顯示的提示語
self.verticalLayout.addWidget(self.login_id) # 將該登錄賬戶設置添加到頁面控件
self.passwd = QLineEdit() # 定義密碼輸入框
self.passwd.setPlaceholderText("請輸入登錄密碼") # 設置默認顯示的提示語
self.verticalLayout.addWidget(self.passwd) # 將該登錄密碼設置添加到頁面控件
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
# 驗證通過,設置QDialog對象狀態為允許
self.accept()
最后通過mian入口函數啟動應用。
if __name__ == "__main__":
# 創建應用
window_application = QApplication(sys.argv)
# 設置登錄窗口
login_ui = LoginDialog()
# 校驗是否驗證通過
if login_ui.exec_() == QDialog.Accepted:
# 初始化主功能窗口
main_window = MainWindow()
# 展示窗口
main_window.show()
# 設置應用退出
sys.exit(window_application.exec_())
【往期精彩】
● 辦公自動化:幾行代碼將PDF文檔轉換為WORD文檔(代碼實戰)!
● 辦公自動化:輕松提取PDF頁面數據,並生成Excel文件(代碼實戰)!
● sched 模塊中巨好用的輕量級定時任務神器scheduler!
● 不用再使用命令行打包成exe,有人寫出了UI應用,可視化UI界面對python程序進行打包的方法!
● 發現一個秘密:既python3.6之后字典竟然變成了有序集合,我再次驗證了一下!
● 這么多的內置函數能記住嗎?對python的68個內置函數分類總結!
● 當大廠碼農,遇到多年未見的公務員老同學,故事的結尾炸了...
● 必須要會的文件操作對象File,python文件讀寫操作利器!
● 你不知道的CS模式的進程管理工具,狀態監測、項目啟停一目了然!
● 如何將一個python應用以docker鏡像的方式來運行?
● python-celery專注於實現分布式異步任務處理、任務調度的插件!
● python遠程服務操作工具:fabric,遠程命令、本地命令、服務器操作利器!
● python超贊插件you-get,執行一行命令即可下載、命令行下載工具推薦!
● 辦公自動化:Python-win32com自動將word文檔轉換成pdf格式!