在我的python Tk基础应用程序中设置应用程序图标(在Ubuntu上)

时间:2013-04-18 11:05:06

标签: python ubuntu tkinter

我想在我的基于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

有人可以帮忙吗?

3 个答案:

答案 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')

quote

  

设置(获取)此窗口图标化时使用的图标位图。某些窗口管理器(包括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()