当前位置: 首页 > 面试题库 >

在python脚本中嵌入图标

姜志行
2023-03-14
问题内容

有谁知道将图标嵌入Python脚本的方法,这样当我创建独立的可执行文件(使用pyinstaller)时,不需要包含.ico文件吗?我知道使用py2exe可以实现,但是就我而言,我必须使用Pyinstaller,因为使用前者并不成功。我正在使用Tkinter。

我知道,iconbitmap(iconName.ico)但是如果我想使一个文件可执行,那是行不通的。


问题答案:

实际上,函数iconbitmap只能接收文件名作为参数,因此那里需要一个文件。您可以在链接后创建图标的Base64版本(字符串版本),上传文件并将结果作为变量字符串复制到源文件中。将其提取到一个临时文件,最后将该文件传递给iconbitmap并将其删除。很简单:

import base64
import os
from Tkinter import *
##The Base64 icon version as a string
icon = \
""" REPLACE THIS WITH YOUR BASE64 VERSION OF THE ICON
"""
icondata= base64.b64decode(icon)
## The temp file is icon.ico
tempFile= "icon.ico"
iconfile= open(tempFile,"wb")
## Extract the icon
iconfile.write(icondata)
iconfile.close()
root = Tk()
root.wm_iconbitmap(tempFile)
## Delete the tempfile
os.remove(tempFile)

希望能帮助到你!



 类似资料:
  • 问题内容: 编辑:为了将来参考,我正在使用非xhtml内容类型定义 我正在使用Django创建一个网站,并且试图在我的页面中嵌入任意json数据,以供客户端JavaScript代码使用。 假设我的json对象是。如果直接将其嵌入, 第一个关闭json对象。(此外,由于该json对象将动态生成,这将使站点容易受到XSS的攻击)。 如果使用django的HTML转义功能,则输出为: 并且浏览器无法解释

  • 本文向大家介绍Lua教程(一):在C++中嵌入Lua脚本,包括了Lua教程(一):在C++中嵌入Lua脚本的使用技巧和注意事项,需要的朋友参考一下 本系列教程主要介绍如何在C/C++程序里面嵌入Lua脚本,我打算从以下几个方面来介绍: 1.如何在C/C++里面嵌入Lua脚本 2.Lua访问C/C++数据结构(这里面要介绍类,结构体,函数,变量,枚举等数据类型在lua里面如何访问) 3.C/C++访

  • 问题内容: 我是猪脚本,Hadoop,Hbase的新手。这是我需要知道的。我想运行一个Pig脚本,我不想在我的Java程序中嵌入该Pig脚本,并希望通过传递必要的Pig脚本和参数(可能是参数文件)的任何Pig Execution方法来运行它。核心Pig库或任何其他库是否提供了执行Pig脚本的方式。我已经尝试过使用Java运行时exec方法,我用空格分隔的字符串传递了一些参数,所以我放弃了通过运行时

  • 问题内容: 我正在开发可能由用户提供的Groovy脚本扩展的服务器应用程序。显然,我想确保这些脚本在非常紧凑的沙箱中运行,在这些沙箱中它们不会破坏核心应用程序代码或消耗过多资源以使服务器超载。 我研究了各种可能性,最终的解决方案可能是这些的组合: 在受严格限制的安全管理器中运行脚本 。该脚本在没有权限的SecurityManager中运行。必须声明其他权限(例如Android)。 启动一个新的JV

  • 问题内容: 我有一个脚本,执行时会向用户询问某些查询,并以json格式构建输出框架。使用python子进程,我可以从另一个名为的脚本中调用此脚本。一切都按预期工作,除了我无法在变量中获取输出?我正在Python 3中执行此操作。 问题答案: 要使用模块从另一个脚本中调用Python脚本并传递一些输入并获取其输出,请执行以下操作: 这里定义了功能。 更为灵活的替代方法是导入模块a并调用函数以获取结果

  • 问题内容: 首先,我已经在Google上进行了搜索,但只找到了将压缩文件(例如)嵌入到Shell脚本中的示例。 基本上,如果我有一个打印字符串的C程序(),请说 Hello World! 。 我编译它以获得可执行的二进制文件 现在我有一个shell脚本 我要问的是是否有可能将二进制( hello )嵌入到shell脚本中,以便在我运行时 它执行二进制文件以打印 Hello World! 。 澄清