如何在不对图标文件路径进行硬编码的情况下在Python tkinter程序中拥有自定义图标? tkinter,iconbitmap和cx_freeze

问题描述

我正在使用一个简单的tkinter GUI。

我熟悉使用root.iconbitmap("/path/to/icon.ico")更改根窗口的图标,这就是我在编写和测试代码时一直在使用的东西。

但是,我现在正处于为应用程序构建安装程序的阶段,我正在使用cx_freeze进行安装。我可以做到这一点,并将应用程序安装在我写得很好的同一台PC上。但是,如果我将其安装在另一台PC上,则它将无法正常工作,因为指定的图标路径在另一台PC上将不存在。

我希望能够在其他PC上显示自定义窗口图标,而不必与安装程序一起分发.ico文件

有什么办法可以做到这一点?

解决方法

这个例子有帮助吗?你可以很容易地看到这个想法;并简单地更改所需的文件名称等

import tkinter
from tkinter import *

ikkuna=tkinter.Tk()
ikkuna.title("Let's use own image as icon with no .ico file")
ikonikuva=PhotoImage(file='Experience_in_AI.png')
ikkuna.iconphoto(False,ikonikuva)
ikkuna.mainloop()