python ui框架_PyQt5GUI项目程序框架
本次介紹PyQt5 GUI應用程序框架組成,以dialogApp項目文件組成為例,其他類似。
主要做兩件事情:1、窗體UI設(shè)計,主要在Qt Designer內(nèi)完成;2、對應窗體業(yè)務邏輯類功能實現(xiàn),在myDialog.py文件內(nèi)編寫實現(xiàn)代碼。
1、Python運行程序時會自動生成的臨時文件夾_Pycache_。
2、QtApp是創(chuàng)建Qt C++ GUI項目Qt App所在的文件夾。\QtAPP\images目錄下是Qt項目資源文件用到的圖標和圖片文件位置。Qt項目文件是QtApp.pro,窗體文件是Dialog.ui。
3、子文件夾QtApp下文件Dialog.ui是在Qt Creator里設(shè)計的窗體UI文件,在完成可視化窗體設(shè)計后將其覆蓋dialogApp文件夾內(nèi)的同名文件。每次在QtApp項目里修改了窗體文件后,應該將新的文件復制到此處并覆蓋原有文件,文件內(nèi)類名稱為Ui_Dialog。
4、將窗體文件Dialog.ui編譯轉(zhuǎn)換為相應的python類定義文件,文件ui_Dialog.py是用pyuic5對文件Dialog.ui編譯轉(zhuǎn)換得到的python程序文件。
備注:文件uic.bat是一個批處理文件,用于復制Dialog.ui文件,并用pyuic5指令編譯Dialog.ui文件而生成文件ui_Dialog.py。該命令包括了第3步復制命令,因此以上覆蓋操作可省略。同時需要使用pyrcc5.exe工具將資源文件res.qrc編譯為一個對應的Python文件 res_rc.py,編譯后必須是原文件名后加”_rc”。res_rc.py文件里存儲了圖標的十六進制編碼數(shù)據(jù)及相關(guān)的管理代碼。
uic.bat腳本
copy?.\QtApp\Dialog.ui??Dialog.uipyuic5?-o?ui_Dialog.py?Dialog.ui
pyrcc5?.\QtApp\res.qrc?-o?res_rc.py???#當文件多于一個或UI文件名不同,可根據(jù)需要修改文件內(nèi)容
可在?PyCharm中設(shè)置快捷命令,具體可參考博客-PyCharm中如何使用Qt Designer
https://www.jianshu.com/p/1b2e6237eb3d5、文件myDialog.py是一個對窗體進行業(yè)務邏輯操作的類的文件,文件內(nèi)類的名稱QmyDialog。
6、 文件appMain.py是創(chuàng)建應用程序和QmyDialog類窗體對象的實例,顯示窗體并運行的主程序。當一個應用程序有多個窗體,并且窗體之間有數(shù)據(jù)傳遞時,appMain.py負責創(chuàng)建應用程序的主窗口,使整個應用程序結(jié)構(gòu)清晰。
項目模板
myDialog.py
from?PyQt5.Qt?import?*from?ui_Dialog?import?Ui_Dialog
class?QmyDialog(QDialog):
????def?__init__(self,?parent=None):
????????super().__init__(parent)??#?調(diào)用父類構(gòu)造函數(shù),創(chuàng)建窗體
????????self.ui?=?Ui_Dialog()??#?創(chuàng)建UI對象
????????self.ui.setupUi(self)??#?構(gòu)造UI界面
##??============自定義功能函數(shù)========================
##??===========event處理函數(shù)==========================
##??========由connectSlotsByName()自動與組件信號關(guān)聯(lián)的槽函數(shù)=========
##??==========自定義槽函數(shù)===============================
##??============窗體測試程序?============================
if?__name__?==?"__main__":?
????import?sys?
????app?=?QApplication(sys.argv)??#?創(chuàng)建GUI應用程序
????form?=?QmyDialog()??#?創(chuàng)建窗體
????form.show()
????sys.exit(app.exec_())
appMain.py
#?-*-?coding:?utf-8?-*-##??GUI應用程序主程序入口
import?sys
from?PyQt5.QtWidgets?import??QApplication
from?myDialog?import?QmyDialog
app?=?QApplication(sys.argv)????#創(chuàng)建GUI應用程序
##icon?=?QIcon(":/icons/images/app.ico")
##app.setWindowIcon(icon)
mainform=QmyDialog()????????#創(chuàng)建主窗體
mainform.show()?????????????#顯示主窗體
sys.exit(app.exec_())?
窗體常用類是QWidget、QDialog和QMainWindow。至此我們了解到了整個項目基本代碼框架組成,后面將學習的重點放在界面控件、類的各種接口屬性和函數(shù)使用以及業(yè)務邏輯功能的實現(xiàn)上,接下來可以愉快地開發(fā)自己的GUI應用程序了。
總結(jié)
以上是生活随笔為你收集整理的python ui框架_PyQt5GUI项目程序框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python集合排序_排序算法集合
- 下一篇: 密码算法中iv值是什么_?标检测中的?极