五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

PyQt完整軟件綜合案例:登錄框

2023-07-15 22:04 作者:矢來美羽MIUYARAI  | 我要投稿

基于教材《PyQt編程快速上手》5.4登錄框開發(fā)實(shí)戰(zhàn)。部分基礎(chǔ)知識(shí):

  1. 《快速掌握PyQt5》第五章 完善登錄框小程序:https://zhuanlan.zhihu.com/p/75527971

  2. 《快速掌握PyQt5》第十四章 快速制作界面Qt Designer:https://zhuanlan.zhihu.com/p/75673557

  3. 《快速掌握PyQt5》第二十五章 Pyinstaller打包:https://zhuanlan.zhihu.com/p/86966093

  4. 白月黑羽 -?動(dòng)態(tài)加載UI文件(視頻):https://www.bilibili.com/video/BV1cJ411R7bP?p=5

  5. 白月黑羽 -?動(dòng)態(tài)加載UI文件(代碼):https://www.byhy.net/tut/py/gui/qt_03/#%E5%8A%A8%E6%80%81%E5%8A%A0%E8%BD%BDui%E6%96%87%E4%BB%B6

  6. Anaconda創(chuàng)建、使用、刪除Python虛擬環(huán)境:https://zhuanlan.zhihu.com/p/594405403

第一步?前端設(shè)計(jì)

使用pyqt5-tools庫自帶的Qt Designer以可視化的形式完成:

保存的格式為“.ui”,保存在準(zhǔn)備好的文件夾內(nèi):

第二步 加載.ui文件

方法1:采用python自帶工具pyui5

方法1的外部工具方案:先添加為外部工具,然后使用。

方法1的代碼實(shí)現(xiàn)方案:使用代碼調(diào)用pyui5,參考https://www.byhy.net/tut/py/gui/qt_03/#%E8%BD%AC%E5%8C%96ui%E6%96%87%E4%BB%B6%E4%B8%BApython%E4%BB%A3%E7%A0%81

方法2:使用PyQt5庫的uic,加載ui定義

參考資料:https://www.byhy.net/tut/py/gui/qt_03/#%E5%8A%A8%E6%80%81%E5%8A%A0%E8%BD%BDui%E6%96%87%E4%BB%B6

把原先的:

改成

對(duì)于類內(nèi)部函數(shù),添加內(nèi)容:(但在實(shí)際操作中,因?yàn)閷?duì)“面向?qū)ο蟆钡牟僮鞑皇煜ぃ惠敵隽丝粘绦蚩?,這部分內(nèi)容讀者可以自行摸索)

第三步 后端編程

1. 先前加載出的UI模塊login_ui.py

2. 窗口邏輯模塊window.py

3. 主程序main.py

第四步 測(cè)試(打包前)

第五步 打包

1. 基礎(chǔ)打包法:多文件打包模式(cmd命令)

生成三個(gè)文件:build文件夾里是編譯文件,可刪除;dist文件夾(89.3MB)是軟件本體,內(nèi)有main.exe;main.spec是打包配置文件,用來打包,因?yàn)榇虬昧?,所以可刪除。對(duì)于login_ui.py中用到的com_it.jpg文件,需要手動(dòng)復(fù)制到main文件夾才能生效(main.exe所在的文件夾)。也就是說,程序中的資源文件都是需要手動(dòng)復(fù)制的,解決方法見下文第5條。

2. 單文件打包模式

dist文件夾內(nèi)只有一個(gè)main.exe(單文件,34.8MB。但因?yàn)樯婕皦嚎s、解壓的過程,程序運(yùn)行會(huì)變慢。

3. 取消exe運(yùn)行時(shí)的調(diào)試黑框

4. 給可執(zhí)行文件exe加上圖標(biāo)

提前在目錄內(nèi)準(zhǔn)備好一個(gè)圖標(biāo),再運(yùn)行cmd:(可能需要移動(dòng)一下exe的路徑,圖標(biāo)才變化)

使用前
使用后

5. 資源文件自動(dòng)打包

免去手動(dòng)復(fù)制的麻煩:

本例中,就是用:(多文件打包模式)

如果是單文件打包模式,在login_ui中加上res_path函數(shù),并給函數(shù)中的各個(gè)路徑套上

套上路徑:

cmd指令:

圖標(biāo)成功顯示:(好累啊……)

6. 減小打包后的體積

方向1:采用虛擬環(huán)境(實(shí)測(cè)似乎對(duì)PyQt的效果不佳)

應(yīng)該還有別的方法。我是查到可以采用Anaconda Prompt創(chuàng)建虛擬環(huán)境:https://zhuanlan.zhihu.com/p/594405403

如圖,創(chuàng)建成功:

然后給虛擬環(huán)境安裝庫:

修改路徑,然后打包:

新的打包文件由34.8MB降到34.1MB,我暈??

關(guān)閉環(huán)境、移除虛擬環(huán)境、查看已安裝環(huán)境:

可見成功移除:

方向2:移除指定的庫

新的打包文件由34.8MB降到34.8MB,絕了

方向3:使用UPX工具

官網(wǎng):https://upx.github.io/

我用的是upx-4.0.2-win64版本,解壓后放在main.py所在文件夾后(或者添加到環(huán)境變量中),運(yùn)行cmd:

新的打包文件由34.8MB降到27.3MB,什么叫專業(yè)?。?/p>

第六步(最后一步) 完善

發(fā)現(xiàn)忘記加-w了,加!再exclude一下,疊個(gè)buff。來!

exclude之后體積還更大了……下次不ex了??

啟動(dòng)!——


PyQt完整軟件綜合案例:登錄框的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
华池县| 开原市| 景宁| 上饶市| 柳河县| 邵武市| 翁源县| 平安县| 蓝田县| 余干县| 青浦区| 商洛市| 济南市| 岐山县| 衡阳县| 萝北县| 施甸县| 巴中市| 陕西省| 福建省| 平顶山市| 吉木乃县| 达拉特旗| 梁平县| 香河县| 广宁县| 彩票| 仁布县| 元谋县| 特克斯县| 昆明市| 永仁县| 安平县| 婺源县| 荆州市| 临颍县| 贡觉县| 岳西县| 蒲城县| 雷山县| 浠水县|