python为QT程序添加图标的方法详解


Posted in Python onMarch 09, 2020

Qt是一种基于C++的跨平台图形用户界面应用程序开发框架。如何跨平台?上到服务器上位机,下到嵌入式GUI,上天入地无所不能。Qt最早是由1991年由Qt Company开发,但是到2008年,Qt Company科技被诺基亚公司收购,是的,就是拥有着我们很多情怀的诺基亚。但在2012年,Qt又被Digia收购。等到了2014年,跨平台集成开发环境Qt Creator 3.1.0正式发布出来,至此,全面支持iOS、Android、WP,QT的时代开始逐步展开。

本文重点给大家介绍python为QT程序添加图标的方法,一起看看吧。

设置图标

最好使用.gif图标,且不能是由其它格式(如.png)强行更改格式过来的图标文件作为程序图标,否则均有可能导致显示不出来

在开发中使用图标

from PyQt5.QtGui import QIcon
self.setWindowIcon(QIcon('images/squirrel.gif'))

此时,我们只要在主函数模块的同级目录下有images文件夹,且里面包含squirrel.gif图标,我们运行主函数测试时就能正常显示图标。
但是这样做在打包后生成的.exe程序执行时并不能显示图标。

打包时图标处理

1.在主函数模块同级目录下创建resources_rc.qrc文件,内容如下(删掉注释)

<!DOCTYPE RCC><RCC version="1.0">
<!--带上前缀,将qrc生成的图标伪装成images目录下的文件 -->
<qresource prefix="/images">
<!--images/squirrel.ico为图标位置 -->
<!--qrc生成的图标名称为image.ico,之后主函数调用的就是这个名称 -->
<file alias="image.ico">images/squirrel.ico</file>
</qresource>
</RCC>

2.将resources_rc.qrc转为.py文件

pyrcc5 -o resources_rc.py resources_rc.qrc

3.引用.py中生成的图标

import resources_rc
# 此处的:/images/image.ico为.py生成的图标,与之前的存储路径无关
# 可以运行测试,如果显示图标,则调用成功
self.setWindowIcon(QIcon(':/images/image.ico'))

4.打包,带上图标物理地址

#run.py为主函数地址
pyinstaller.exe -F -w -i C:\Users\TR\Desktop\translationTools\images\squirrel.ico run.py

5.运行run.exe,成功显示图标

python为QT程序添加图标的方法详解

python为QT程序添加图标的方法详解

到此这篇关于python为QT程序添加图标的方法详解的文章就介绍到这了,更多相关python qt添加图标内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
深入理解Python爬虫代理池服务
Feb 28 Python
Python callable()函数用法实例分析
Mar 17 Python
高效使用Python字典的清单
Apr 04 Python
python如何获取当前文件夹下所有文件名详解
Jan 25 Python
python实现kmp算法的实例代码
Apr 03 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
Jun 18 Python
python编写计算器功能
Oct 25 Python
python使用正则表达式(Regular Expression)方法超详细
Dec 30 Python
Python Scrapy框架第一个入门程序示例
Feb 05 Python
Python小白学习爬虫常用请求报头
Jun 03 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
Mar 09 #Python
详解pandas中iloc, loc和ix的区别和联系
Mar 09 #Python
pandas中ix的使用详细讲解
Mar 09 #Python
Python unittest 自动识别并执行测试用例方式
Mar 09 #Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 #Python
在Python IDLE 下调用anaconda中的库教程
Mar 09 #Python
python shell命令行中import多层目录下的模块操作
Mar 09 #Python
You might like
短波收音机简介
2021/03/01 无线电
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
php异常处理方法实例汇总
2015/06/24 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
jquery一句话全选/取消全选
2011/03/01 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
JavaScript Array对象使用方法解析
2019/09/24 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
机器学习实战之knn算法pandas
2019/06/22 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
基于python+selenium自动健康打卡的实现代码
2021/01/13 Python
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
工资收入证明样本(5篇)
2014/09/16 职场文书
会计工作检讨书
2015/02/19 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书