python之pyqt專欄2-項目文件解析

?項目結構

????????在上一篇文章python之pyqt專欄1-環境搭建,創建新的pyqt項目,下面我們來看一下這個項目下的文件。

? ? ? ? 從下面的文件結構圖可以看到,該項目下有3個文件,untitled.ui,untitled.py 以及main.py

QtDesigner可以UI界面的方式,編輯UI界面,并且保存成untitled.ui,

pyuic 會將untitled.ui 轉換為untitled.py

????????當我們需要改變程序的界面時,我們只需要通過QtDesigner 修改Ui界面,再通過pyuic轉為".py"文件即可,不需要修改pyuic轉換的".py"文件

untitled.py

????????untitled.py有一個Ui_Form這個類只有setupUi(self, Form) retranslateUi(self, Form),兩個函數。

???????setupUi(self, Form) ,Form形參,用來傳遞對象。函數具體的語言則是執行一些界面的設置。

????????retranslateUi(self, Form)函數,只要是實現國際化用的,用于界面文字自動識別當前國家

from PyQt6 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(400, 300)self.pushButton = QtWidgets.QPushButton(parent=Form)self.pushButton.setGeometry(QtCore.QRect(140, 130, 75, 23))self.pushButton.setObjectName("pushButton")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.pushButton.setText(_translate("Form", "PushButton"))

main.py?

#導入sys模塊
import sys
# PyQt6.QtWidgets模塊中導入QApplication, QWidget
from PyQt6.QtWidgets import QApplication, QWidget# untitled模塊中導入Ui_Form類
from untitled import Ui_Formclass MyMainForm(QWidget,Ui_Form):def __init__(self,parent=None):#調用父類的構造函數super(MyMainForm, self).__init__(parent)#調用繼承Ui_Form過來的setupUi函數self.setupUi(self)# Press the green button in the gutter to run the script.
if __name__ == '__main__':# 實例化應用app = QApplication(sys.argv)#實例化MyMainFormmyw = MyMainForm()#myw顯示myw.show()#啟動應用程序的事件循環并等待用戶交互,直到應用程序關閉。sys.exit(app.exec())
?自定義MyMainForm

????????繼承QWidgetUi_Form,是多繼承。在__init__(self,parent=None)構造函數中,調用父類的構造函數,由于Ui_Form構造函數,也不需要。因此只會調用QWidget構造函數。調用self.setupUi(self)則是MyMainForm實例進行樣式進行設置

代碼執行

???????app = QApplication(sys.argv),創建了QApplication實例,你可以繼續添加各種GUI元素(如按鈕,文本框,滑動條等),并將它們組織在窗口中。通常,一個Qt應用程序至少包含一個窗口(由QMainWindow或QWidget派生)。

? ? ? ?myw = MyMainForm()?創建了MyMainForm類的一個實例,將會調用MyMainForm,__init__(self,parent=None)函數

? ? ? myw.show()?用myw對象的show()方法。這個方法會讓MyMainForm窗口在屏幕上顯示出來。在窗口顯示出來之后,用戶就可以開始與窗口進行交互

????????sys.exit(app.exec()) 啟動應用程序的事件循環并等待用戶交互,直到應用程序關閉。

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167267.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167267.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167267.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Feign接口請求返回異常 no suitable HttpMessageConvert found for response type

問題場景&#xff1a; 后端調用feign接口請求, 接口返回異常, no suitable HttpMessageConvert found for response type 問題描述 報錯異常如下&#xff1a; //根據圖片特征 去查詢人員信息ResultVo<List> personVos ipbdFaceLibPersonApi.queryFacePersonByFeatur…

華為云之SFS彈性文件服務使用體驗

華為云之SFS彈性文件服務使用體驗 一、本次實踐介紹1.1 實踐環境簡介1.2 本次實踐目的 二、SFS彈性文件服務介紹2.1 SFS彈性文件服務簡介2.2 SFS彈性文件服務特點 三、購買ECS彈性云服務器3.1 購買ECS彈性云服務器3.2 查看ECS彈性云服務器狀態3.3 遠程連接ECS3.4 檢查操作系統版…

package.json 中的版本號,符號 ~ 與 ^ 的區別及其他符號的含義

"element-ui": "^2.15.1", 版本號&#xff1a; 2.15.1 對應 x.y.z z &#xff1a;表示一些小的bugfix, 更改z的號&#xff1b;(修復補丁-z)&#xff08;~符號&#xff09; y &#xff1a;表示一些大的版本更改&#xff0c;比如一些API的變化&#xff1b;(…

迭代器模式 (Iterator Pattern)

定義 迭代器模式&#xff08;Iterator Pattern&#xff09;是一種行為型設計模式&#xff0c;用于順序訪問集合對象的元素&#xff0c;而無需知道集合對象的底層表示。迭代器模式將遍歷集合的責任從集合對象轉移到迭代器對象上&#xff0c;這簡化了集合接口和實現&#xff0c;…

計算機應用基礎_錯題集_基礎知識---網絡教育統考工作筆記006

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、基礎知識部分錯題集總結前言 計算機應用基礎統考,錯題集總結 一、基礎知識部分 基礎知識部分 2、微處理器芯片的位數即指______。 A.速度 B.字長 C.

Unity Android FireBase bugly報錯查詢

報錯如下圖&#xff0c;注意&#xff0c;標紅的三處 使用的il2cpp和架構是arm64-v8a 那我們就可以根據這些去找對應的符號表&#xff0c;在unity安裝目錄下 Unity2020.3.33f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Symbols\arm64-v8a 找到l…

Tomcat注冊為服務后,如何配置Tomcat內存大小

前提條件&#xff1a;tomcat已經注冊為服務。 1.winR,輸入regedit打開注冊表 2.找到Tomcat注冊表路徑&#xff1a; HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat80603.找到jvm內存配置路徑&#xff1a; HKEY_LOCAL_MACHINE\SOFTW…

PTA-6-312 使用多態實現圖書館計算罰金功能

題目&#xff1a; 圖書館提供給讀者借閱服務&#xff0c;包括借閱書籍及音像制品。如果借閱超時需要繳納罰金。對于不同類型的書籍和音像制品罰款規則不同。 成人書籍:允許借閱的時間是21天&#xff0c;每超時1天&#xff0c;需要繳納罰金2元;如果超時3天以上&#xff0c;超出的…

vue中 mixin用法

在Vue.js中&#xff0c;mixin是一種可以在多個組件之間共享Vue組件選項的靈活方式。mixin對象可以包含任何組件選項。當組件使用mixin時&#xff0c;所有mixin對象的選項將被“混合”到該組件的選項中。 使用mixin的一個主要優點是可以在多個組件之間重用和共享代碼。這可以幫…

SSM大學生社團信息管理系統-99953,(免費領取源碼)計算機畢業設計選題開題+程序定制+論文書寫+答辯ppt書寫 包售后 全流程

SSM大學生社團信息管理系統APP 摘 要 隨著科學技術的飛速發展&#xff0c;社會的方方面面、各行各業都在努力與現代的先進技術接軌&#xff0c;通過科技手段來提高自身的優勢&#xff0c;高校當然也不能排除在外。大學生社團信息管理系統APP是以實際運用為開發背景&#xff0c…

CMake中常見的預定義變量

文章目錄 CMake常見的預定義變量CMake variables官方文檔 CMake常見的預定義變量 在 CMake 中&#xff0c;有一些常見的預定義變量&#xff0c;它們提供了有關項目、目錄結構和構建環境的信息。這些變量可用于設置路徑、傳遞參數、以及進行其他與構建過程相關的操作。 以下是…

Rust語言入門教程(五) - 流控制語句

if 表達式 在Rust中&#xff0c; if語句的判斷條件不需要用( )括起來&#xff0c; 它會認為所有在if 和 {之間的表達式就是判斷條件&#xff0c;例如&#xff1a; if num 5 {msg "five"; }判斷條件的表達式必須返回一個bool型的值&#xff0c; 因為Rust是一個不喜…

[C/C++]數據結構 循環隊列

前言: 隊列是一種具有先進先出特性的結構,但是當數據出隊列以后,前面的空間就無法再次利用了,循環隊列就可以解決這個問題 一:概念及結構: 1.循環隊列概念 循環隊列是一種線性數據結構&#xff0c;其操作表現基于 FIFO&#xff08;先進先出&#xff09;原則并且隊尾被連接在隊…

顛覆與創新:算法備案的雙重挑戰

隨著數字時代的迅猛發展&#xff0c;算法已經成為了企業創新和競爭的關鍵因素。然而&#xff0c;伴隨著算法的廣泛應用&#xff0c;數據隱私、法規合規等問題也愈發凸顯&#xff0c;給企業帶來了雙重挑戰。本文將深入探討這一話題&#xff0c;探討算法備案如何在顛覆與創新之間…

IDEA、PHPSTORM 在命令行中進行 PHP debug

然在終端執行控制器的方法php yii test/ab 即可看到觸發debug 調試

視頻剪輯技巧:多個視頻合并新篇章,高效視頻剪輯,創造無限可能

在數字媒體時代&#xff0c;視頻剪輯已經成為一項重要的技能。多個視頻合并是一種將多個視頻片段合并成一個完整視頻的技巧。這種技巧可以將不同的視頻片段組合在一起&#xff0c;制作出獨特且具有吸引力的視頻內容。現在一起操作下云炫AI智剪如何批量合并視頻的操作吧。 一、準…

友思特分享 | Neuro-T:零代碼自動深度學習訓練平臺

來源&#xff1a;友思特 智能感知 友思特分享 | Neuro-T&#xff1a;零代碼自動深度學習訓練平臺 歡迎關注虹科&#xff0c;為您提供最新資訊&#xff01; 工業自動化、智能化浪潮涌進&#xff0c;視覺技術在其中扮演了至關重要的角色。在汽車、制造業、醫藥、芯片、食品等行業…

針對CSP-J/S的每日一練:Day 11

一、審題 題目描述 給定兩個大小分別為 m m m 和 n n n 的正序&#xff08;從小到大&#xff09;數組 n u m s 1 nums1 nums1 和 n u m s 2 nums2 nums2。請你找出并返回這兩個正序數組的中位數。 算法的時間復雜度應該為 O ( l o g ( m n ) ) O(log (mn)) O(log(mn)) 。…

初學vue3與ts:路由跳轉帶參數

index-router <!-- 路由跳轉 --> <template><div><div class"title-sub flex"><div>1、用router-link跳轉帶參數id1&#xff1a;</div><router-link to"./link?id1"><button>點我跳轉</button>&…

maven 將Jar包安裝到本地倉庫

window系統&#xff1a; 注意事項&#xff1a;在windows中&#xff0c;使用mvn指令將jar安裝到本地倉庫時&#xff0c;一定要將相關資源使用“"”包裹上&#xff0c;不然會報下面的錯&#xff1a; mvn install:install-file "-DfileD:\BaiduNetdiskDownload\qianzixi…