如何为tkinter应用设置URL图标?
如果我有:
from Tkinter import *
app = Tk()
...
app.mainloop()
我会用 app.iconbitmap(...)
吗?
如果会的话,我该怎么用 这个 文件呢?我需要导入 urllib
吗?
2 个回答
1
这是我在Windows和Linux上都能用的调用方法。我发现Linux上不能使用ico格式的文件,所以我只用了gif格式的文件,这种格式在两个平台上都能正常工作。
class Editor(tk.Tk):
. . .
. . .
self.tk.call('wm', 'iconphoto', self._w, tk.PhotoImage(file = "my_icon.gif"))
1
你可以用这个来替换 Tkinter
默认的图标。
import base64, PIL, urllib, Tkinter
from Tkinter import *
from PIL import ImageTk
from urllib import *
root = Tk()
raw_data = urllib.urlopen("http://dl.dropboxusercontent.com/s/qtlincxkbbiz1qv/stat.gif").read()
b64_data = base64.encodestring(raw_data)
image = PhotoImage(data=b64_data)
root.tk.call('wm', 'iconphoto', root._w, image)
root.mainloop()
然后把 .py
文件的后缀改成 .pyw
,这样就能改变任务栏上的图标了。
使用 .pyw
后缀意味着它会用 pythonw.exe
来运行,而不是 python.exe
。这样做的好处是,运行时不会出现控制台窗口。
所以,你要么就只能在没有图标的情况下运行,要么就是在没有控制台的情况下运行。