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 相关文章推荐
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
windows下Python实现将pdf文件转化为png格式图片的方法
Jul 21 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
python实现指定文件夹下的指定文件移动到指定位置
Sep 17 Python
pycham查看程序执行的时间方法
Nov 29 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
Python selenium键盘鼠标事件实现过程详解
Jul 28 Python
Python Pillow(PIL)库的用法详解
Sep 19 Python
基于Django快速集成Echarts代码示例
Dec 01 Python
M1芯片安装python3.9.1的实现
Feb 02 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
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
解决vue的过渡动画无法正常实现问题
2019/10/31 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[03:48]大碗DOTA
2019/07/25 DOTA
python基础教程之字典操作详解
2014/03/25 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
同学聚会老师邀请函
2014/01/28 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
创业计划书详解
2019/07/19 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python
图文详解nginx日志切割的实现
2022/01/18 Servers
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js