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 相关文章推荐
在Python的while循环中使用else以及循环嵌套的用法
Oct 14 Python
Python用zip函数同时遍历多个迭代器示例详解
Nov 14 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
Jan 24 Python
python中matplotlib的颜色及线条控制的示例
Mar 16 Python
python3 实现验证码图片切割的方法
Dec 07 Python
用Python实现大文本文件切割的方法
Jan 12 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
python实现udp聊天窗口
Mar 31 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
Pytorch生成随机数Tensor的方法汇总
Sep 09 Python
如何使用Pytorch搭建模型
Oct 26 Python
使用Django实现商城验证码模块的方法
Jun 01 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
简单的自定义php模板引擎
2016/08/26 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
Laravel find in set排序实例
2019/10/09 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
Javascript hasOwnProperty 方法 &amp; in 关键字
2008/11/26 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
document.createElement()用法
2013/03/13 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
页面加载完毕后滚动条自动滚动一定位置
2014/02/20 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
JavaScript中两个字符串的匹配
2016/06/08 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
微信小程序picker组件简单用法示例【附demo源码下载】
2017/12/05 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
Javasript设计模式之链式调用详解
2018/04/26 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
深入浅析Python字符编码
2015/11/12 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
python 实现多维数组(array)排序
2020/02/28 Python
聊聊python中的异常嵌套
2020/09/01 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
矫正人员思想汇报
2014/01/08 职场文书
信访工作经验交流材料
2014/05/23 职场文书
英语导游欢迎词
2015/09/30 职场文书
vue3获取当前路由地址
2022/02/18 Vue.js