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,成功显示图标

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

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

来源:https://blog.csdn.net/aGreySky/article/details/104709849

标签:python,qt,图标
0
投稿

猜你喜欢

  • 在Python中使用CasperJS获取JS渲染生成的HTML内容的教程

    2021-07-01 14:41:42
  • CSS布局之浮动(三)自适应

    2008-08-19 12:49:00
  • 如何将多宿主计算机配置为允许SQL Server访问

    2011-01-04 14:04:00
  • python 获取计算机的网卡信息

    2023-08-11 21:12:06
  • python 图片验证码代码

    2023-07-22 00:33:19
  • 网页开发中的容易忽略的问题 javascript HTML中的table

    2023-09-04 20:43:52
  • php源码的使用方法讲解

    2023-06-17 21:47:02
  • JavaScript 数组的 uniq 方法

    2007-12-07 18:28:00
  • PHP中round()函数对浮点数进行四舍五入的方法

    2023-11-23 21:35:24
  • Python进程通信之匿名管道实例讲解

    2021-08-26 16:23:46
  • asp让网站自动识别手机访问跳转至手机网站

    2014-12-06 09:36:02
  • 详细解读Python中的__init__()方法

    2023-03-25 17:10:27
  • php基础字符串与数组知识点讲解

    2023-05-25 08:28:14
  • python实现手机销售管理系统

    2023-01-16 00:02:04
  • JavaScript正则表达式的简单应用:高亮显示

    2008-07-20 12:46:00
  • asp.net php asp jsp 301重定向的代码(集合)

    2023-11-14 15:02:06
  • 数据库复制性能测试 推送模式性能测试

    2012-07-11 16:13:52
  • selenium自动化测试简单准备

    2023-02-07 13:04:12
  • MySQL中如何定义外键

    2010-03-09 16:18:00
  • 使用opencv-python如何打开USB或者笔记本前置摄像头

    2021-05-18 08:24:52
  • asp之家 网络编程 m.aspxhome.com