首页 > 编程语言 >修改python打包后的窗体图标、任务栏图标、exe图标

修改python打包后的窗体图标、任务栏图标、exe图标

时间:2023-12-05 11:13:39浏览次数:36  
标签:exe ico img python base64 logo open 图标

前言

  • 我python开发的GUI界面(图形用户界面)一直是tkinter,打包exe一直是Pyinstaller。但是打包出来的exe图标、状态栏图标、窗体左上角图标一直是默认的羽毛,我想自定义。

效果

  • 最后使用base64创建临时ico解决了该问题
    image

步骤

  1. 创建icoToBase64.py,内容如下:
import base64

# ico转base64
open_icon = open("./img/logo.ico", "rb")
b64str = base64.b64encode(open_icon.read())  # 转换为base64编码
open_icon.close()
write_data = "imgBase64 = %s" % b64str
f = open("./img/logo.py", "w+")
f.write(write_data)# 写入文件
f.close()
  1. 创建img目录,将准备好的logo.ico放入img目录中。
  2. 运行icoToBase64.py文件,将ico转换为base64,写入py文件,得到logo.py。
  3. 引入logo.py,使用base64创建临时logo。
from img.logo import imgBase64

# 创建临时logo
def createTempLogo():  # 处理图片
    tmp = open("temp.ico", "wb+")  # 创建temp.ico临时文件
    tmp.write(base64.b64decode(imgBase64))  # 写入img的base64
    tmp.close()  # 关闭文件
...
createTempLogo()
root.wm_iconbitmap("temp.ico")# 使用wm_iconbitmap引入创建的ico
if os.path.exists("temp.ico"):
   os.remove("temp.ico")# 创建logo后需删除临时logo
...

结语

最后不管是直接运行还是打包exe后运行,会发现窗体图标、任务栏图标、exe图标都变成了自定义的图标。
image
原文链接:https://xiblogs.top/?id=65

标签:exe,ico,img,python,base64,logo,open,图标
From: https://www.cnblogs.com/xi12/p/17876762.html

相关文章

  • Python编程:从入门到实践--Chapter16
    在16章的json数据测试如下代码时报错:[Errno22]Invalidargument:'eq_data\readable_eq_data.json'#将数据作为字符串读取并转换为python对象path=Path('eq_data\eq_data_1_day_m1.json')contents=path.read_text()all_eq_data=json.loads(contents)#将数据文件转换为......
  • 深入探讨 Python 中的装饰器和上下文管理器
    Python作为一门灵活而强大的语言,提供了许多高级特性,其中装饰器(Decorators)和上下文管理器(ContextManagers)是其中两个非常有用的概念。这两个功能性特性提供了对代码结构和行为进行修改和控制的强大工具。它们允许程序员在不修改源代码的情况下,添加、修改或扩展函数或类的功能,帮助......
  • python包迁移
    在没有网络的python环境中安装python包(从另一个环境打包转移到另一个环境)1、在有网络的电脑上安装我们需要的包2、在有网络的电脑下执行下面语句pipfreeze>requirements.txt这个时候就会在命令行所在的目录生成一个requirements.txt,这里面列出了有网络电脑的包的名字和版本。......
  • Python中execjs执行JS代码出现中文乱码
    1、乱码场景新建文件code.js,详情如下:functionfun(){return"我是fun函数";}在Python中执行此JS代码:1importexecjs23#读取js4withopen("code.js",encoding="utf8")asf:5jsCode=f.read()6print(jsCode)78#编辑......
  • Python的with open
    1、文件的基本操作1.打开文件2.操作文件3.关闭文件关键字:open方式1f=open(r'a.txt','r',encoding='utf-8')#f=open(r'a.txt',mode='r',encoding='utf-8')res=f.read()print(res)##关闭文件:释放资源的#f.clo......
  • 填补表格文件日期列中缺少的天数并用0填充该行其他数据:Python
      本文介绍基于Python语言,读取一个不同的行表示不同的日期的.csv格式文件,将其中缺失的日期数值加以填补;并用0值对这些缺失日期对应的数据加以填充的方法。  首先,我们明确一下本文的需求。现在有一个.csv格式文件,其第一列表示日期,用2021001这样的格式记录每一天的日期;其后面几......
  • python中级之字符编码
    小引字符编码(CharacterEncoding)是计算机显示文本的基础,是每一位IT从业者必知的计算机基础知识点,如同数值在计算中如何存储表示,那么基础,那么重要。参考笔记字符编码笔记:ASCII,Unicode和UTF-8-阮一峰的网络日志(ruanyifeng.com)各种编码UNICODE、UTF-8、ANSI、ASCII、G......
  • Python 解析JSON实现主机管理
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它以易于阅读和编写的文本形式表示数据。JSON是一种独立于编程语言的数据格式,因此在不同的编程语言中都有对应的解析器和生成器。JSON格式的设计目标是易于理解、支持复杂数据结构和具有良好的可扩展性。JSON数据是......
  • 【python入门之文件操作】---文件操作
    【一】文本处理引入应用程序运行过程中产生的数据最先都是存放于内存中的若想永久保存下来,必须要保存于硬盘中。应用程序若想操作硬件必须通过操作系统而文件就是操作系统提供给应用程序来操作硬盘的虚拟概念用户或应用程序对文件的操作,就是向操作系统发起调用,然后由操作系统......
  • 【python入门之文字符编码】---字符编码
    简介计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如’a’用什么表示,称为"编码";反之,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密。在解码过......