python為QT程序添加圖標(biāo)的方法詳解
Qt是一種基于C++的跨平臺(tái)圖形用戶界面應(yīng)用程序開(kāi)發(fā)框架。如何跨平臺(tái)?上到服務(wù)器上位機(jī),下到嵌入式GUI,上天入地?zé)o所不能。Qt最早是由1991年由Qt Company開(kāi)發(fā),但是到2008年,Qt Company科技被諾基亞公司收購(gòu),是的,就是擁有著我們很多情懷的諾基亞。但在2012年,Qt又被Digia收購(gòu)。等到了2014年,跨平臺(tái)集成開(kāi)發(fā)環(huán)境Qt Creator 3.1.0正式發(fā)布出來(lái),至此,全面支持iOS、Android、WP,QT的時(shí)代開(kāi)始逐步展開(kāi)。
本文重點(diǎn)給大家介紹python為QT程序添加圖標(biāo)的方法,一起看看吧。
設(shè)置圖標(biāo)
最好使用.gif圖標(biāo),且不能是由其它格式(如.png)強(qiáng)行更改格式過(guò)來(lái)的圖標(biāo)文件作為程序圖標(biāo),否則均有可能導(dǎo)致顯示不出來(lái)
在開(kāi)發(fā)中使用圖標(biāo)
from PyQt5.QtGui import QIconself.setWindowIcon(QIcon(’images/squirrel.gif’))
此時(shí),我們只要在主函數(shù)模塊的同級(jí)目錄下有images文件夾,且里面包含squirrel.gif圖標(biāo),我們運(yùn)行主函數(shù)測(cè)試時(shí)就能正常顯示圖標(biāo)。但是這樣做在打包后生成的.exe程序執(zhí)行時(shí)并不能顯示圖標(biāo)。
打包時(shí)圖標(biāo)處理
1.在主函數(shù)模塊同級(jí)目錄下創(chuàng)建resources_rc.qrc文件,內(nèi)容如下(刪掉注釋)
<!DOCTYPE RCC><RCC version='1.0'><!--帶上前綴,將qrc生成的圖標(biāo)偽裝成images目錄下的文件 --><qresource prefix='/images'><!--images/squirrel.ico為圖標(biāo)位置 --><!--qrc生成的圖標(biāo)名稱為image.ico,之后主函數(shù)調(diào)用的就是這個(gè)名稱 --><file alias='image.ico'>images/squirrel.ico</file></qresource></RCC>
2.將resources_rc.qrc轉(zhuǎn)為.py文件
pyrcc5 -o resources_rc.py resources_rc.qrc
3.引用.py中生成的圖標(biāo)
import resources_rc# 此處的:/images/image.ico為.py生成的圖標(biāo),與之前的存儲(chǔ)路徑無(wú)關(guān)# 可以運(yùn)行測(cè)試,如果顯示圖標(biāo),則調(diào)用成功self.setWindowIcon(QIcon(’:/images/image.ico’))
4.打包,帶上圖標(biāo)物理地址
#run.py為主函數(shù)地址pyinstaller.exe -F -w -i C:UsersTRDesktoptranslationToolsimagessquirrel.ico run.py
5.運(yùn)行run.exe,成功顯示圖標(biāo)
到此這篇關(guān)于python為QT程序添加圖標(biāo)的方法詳解的文章就介紹到這了,更多相關(guān)python qt添加圖標(biāo)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python爬蟲(chóng)實(shí)戰(zhàn)之制作屬于自己的一個(gè)IP代理模塊2. 如何在jsp界面中插入圖片3. 詳解盒子端CSS動(dòng)畫(huà)性能提升4. HTML 絕對(duì)路徑與相對(duì)路徑概念詳細(xì)5. asp批量添加修改刪除操作示例代碼6. .NET6打包部署到Windows Service的全過(guò)程7. Ajax返回值類型與用法實(shí)例分析8. Vue element ui用戶展示頁(yè)面的實(shí)例9. css代碼優(yōu)化的12個(gè)技巧10. 使用FormData進(jìn)行Ajax請(qǐng)求上傳文件的實(shí)例代碼
