日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python ui框架_PyQt5GUI项目程序框架

發(fā)布時間:2025/4/16 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python ui框架_PyQt5GUI项目程序框架 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本次介紹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.ui

pyuic5?-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/1b2e6237eb3d

5、文件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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。