python為QT程序添加圖標(biāo)的方法詳解
Qt是一種基于C++的跨平臺圖形用戶界面應(yīng)用程序開發(fā)框架。如何跨平臺?上到服務(wù)器上位機(jī),下到嵌入式GUI,上天入地?zé)o所不能。Qt最早是由1991年由Qt Company開發(fā),但是到2008年,Qt Company科技被諾基亞公司收購,是的,就是擁有著我們很多情懷的諾基亞。但在2012年,Qt又被Digia收購。等到了2014年,跨平臺集成開發(fā)環(huán)境Qt Creator 3.1.0正式發(fā)布出來,至此,全面支持iOS、Android、WP,QT的時(shí)代開始逐步展開。
本文重點(diǎn)給大家介紹python為QT程序添加圖標(biāo)的方法,一起看看吧。
設(shè)置圖標(biāo)
最好使用.gif圖標(biāo),且不能是由其它格式(如.png)強(qiáng)行更改格式過來的圖標(biāo)文件作為程序圖標(biāo),否則均有可能導(dǎo)致顯示不出來
在開發(fā)中使用圖標(biāo)
from PyQt5.QtGui import QIcon self.setWindowIcon(QIcon('images/squirrel.gif'))
此時(shí),我們只要在主函數(shù)模塊的同級目錄下有images文件夾,且里面包含squirrel.gif圖標(biāo),我們運(yùn)行主函數(shù)測試時(shí)就能正常顯示圖標(biāo)。
但是這樣做在打包后生成的.exe程序執(zhí)行時(shí)并不能顯示圖標(biāo)。
打包時(shí)圖標(biāo)處理
1.在主函數(shù)模塊同級目錄下創(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)用的就是這個名稱 --> <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),與之前的存儲路徑無關(guān) # 可以運(yùn)行測試,如果顯示圖標(biāo),則調(diào)用成功 self.setWindowIcon(QIcon(':/images/image.ico'))
4.打包,帶上圖標(biāo)物理地址
#run.py為主函數(shù)地址 pyinstaller.exe -F -w -i C:\Users\TR\Desktop\translationTools\images\squirrel.ico run.py
5.運(yùn)行run.exe,成功顯示圖標(biāo)
到此這篇關(guān)于python為QT程序添加圖標(biāo)的方法詳解的文章就介紹到這了,更多相關(guān)python qt添加圖標(biāo)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 利用Pycharm將python文件打包為exe文件的超詳細(xì)教程(附帶設(shè)置文件圖標(biāo))
- Python?Matplotlib繪制扇形圖標(biāo)簽重疊問題解決過程
- 教你用Python pygame設(shè)置窗口標(biāo)題和圖標(biāo)
- Python3.7將普通圖片(png)轉(zhuǎn)換為SVG圖片格式(網(wǎng)站logo圖標(biāo))動起來
- Python中用pyinstaller打包時(shí)的圖標(biāo)問題及解決方法
- python3.7將代碼打包成exe程序并添加圖標(biāo)的方法
- 利用python和百度地圖API實(shí)現(xiàn)數(shù)據(jù)地圖標(biāo)注的方法
- python識別圖標(biāo)并點(diǎn)擊功能實(shí)現(xiàn)
相關(guān)文章
在Python 3中緩存Exception對象會造成什么后果?
這篇文章主要介紹了在Python 3中緩存Exception對象到底會造成什么后果?下面帶著這個問題一起看看文章的解析,需要的朋友可以參考一下2021-12-12Python?第三方庫?Pandas?數(shù)據(jù)分析教程
這篇文章主要介紹了Python?第三方庫?Pandas?數(shù)據(jù)分析教程的相關(guān)資料,需要的朋友可以參考下2022-09-09python獲取的html中都是\\u003e實(shí)現(xiàn)轉(zhuǎn)成正確字符
這篇文章主要介紹了python獲取的html中都是\\u003e實(shí)現(xiàn)轉(zhuǎn)成正確字符方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07在DigitalOcean的服務(wù)器上部署flaskblog應(yīng)用
這篇文章主要介紹了在DigitalOcean的服務(wù)器上部署flaskblog的方法,flaskblog是用Python的Flask開發(fā)的一個博客程序,而DigitalOcean則是大受歡迎的SSD主機(jī)提供商,需要的朋友可以參考下2015-12-12Python中使用字典對列表中的元素進(jìn)行計(jì)數(shù)的幾種方式
本文主要介紹了Python中使用字典對列表中的元素進(jìn)行計(jì)數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06