python为QT程序添加图标的方法详解
作者:aGreySky 时间:2021-05-16 15:56:08
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,成功显示图标
来源:https://blog.csdn.net/aGreySky/article/details/104709849
标签:python,qt,图标
0
投稿
猜你喜欢
Git建立本地仓库并上传到Gitee的详细步骤
2023-03-06 20:45:21
Python安装使用命令行交互模块pexpect的基础教程
2023-07-09 22:43:40
隐藏你的.php文件的实现方法
2023-10-20 22:58:01
预防PHPDDOS的发包攻击别人的方法(iis+linux)
2023-10-14 04:09:34
python2.7 json 转换日期的处理的示例
2021-02-10 12:39:50
Python中统计函数运行耗时的方法
2023-03-11 02:17:25
python+selenium对table表和分页处理
2024-01-04 02:16:18
使用typescript类型来实现快排详情
2024-06-05 09:13:15
tensorflow 使用flags定义命令行参数的方法
2021-03-20 10:43:23
Numpy数组转置的两种实现方法
2023-01-22 16:36:54
css基础教程属性篇之二
2008-07-25 19:23:00
python matplotlib库绘制条形图练习题
2023-04-20 05:49:51
ASP URL反编码函数代码
2011-02-28 11:04:00
IE的button元素bug
2009-12-08 12:39:00
MySQL中通过EXPLAIN如何分析SQL的执行计划详解
2024-01-20 00:12:43
python读写修改Excel之xlrd&xlwt&xlutils
2022-04-03 16:35:43
使用版本控制原因及Git与Subversion介绍
2023-12-09 22:29:18
DateDiff函数在Sql与Access中的区别
2009-06-04 18:02:00
C# SQLite数据库入门使用说明
2024-01-25 20:01:20
Cython编译python为so 代码加密示例
2023-01-22 13:16:48