我想在我的基于Python Tk包构建的GUI应用程序中设置图像。
我试过这段代码:
root.iconbitmap('window.xbm')
但它给了我这个:
root.iconbitmap('window.xbm')
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1567, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "window.xbm" not defined
有人可以帮忙吗?
答案 0 :(得分:11)
您想使用wm iconphoto
。比Python Tkinter更习惯于Tcl / Tk我不知道这是如何暴露给你的(可能是root.iconphoto
),但需要tkimage
。在Tcl / Tk:
image create photo applicationIcon -file application_icon.png
wm iconphoto . -default applicationIcon
在Tk 8.6中,您可以提供PNG文件。在此之前,您必须使用TkImg扩展来支持PNG或使用GIF。 Python PIL包可以为您将图像转换为TkImage对象,但这应该有所帮助。
修改强>
我也在Python中试过这个,以下内容对我有用:
import Tkinter
from Tkinter import Tk
root = Tk()
img = Tkinter.Image("photo", file="appicon.gif")
root.tk.call('wm','iconphoto',root._w,img)
在Ubuntu上以交互方式执行此操作会导致应用程序图标(框架左上角的图像并显示在任务栏中)被更改为使用我提供的gif图像。
答案 1 :(得分:0)
试试这个:
root.iconbitmap('@window.xbm')
设置(获取)此窗口图标化时使用的图标位图。某些窗口管理器(包括Windows)会忽略此方法。
请注意,此方法只能用于显示单色图标。要显示颜色图标,请将其放在Label小部件中,然后使用iconwindow方法显示它。
答案 2 :(得分:0)
这对我有用
from tkinter import *
raiz=Tk()
raiz.title("Estes es el titulo")
img = Image("photo", file="pycharm.png")
raiz.tk.call('wm','iconphoto',raiz._w, img)
raiz.mainloop()