如果我有:
from Tkinter import *
app = Tk()
...
app.mainloop()
我会使用app.iconbitmap(...)
吗?
如果是这样,我将如何使用this作为文件,我应该导入urllib
吗?
答案 0 :(得分:1)
这是在Windows和Linux上都对我有用的电话。我发现我无法在Linux上使用ico文件,因此只能使用在两种平台上都可以使用的gif文件。
class Editor(tk.Tk):
. . .
. . .
self.tk.call('wm', 'iconphoto', self._w, tk.PhotoImage(file = "my_icon.gif"))
答案 1 :(得分:0)
您也可以使用此替换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
,但使用pythonw.exe
运行也会使其在没有控制台的情况下运行。
因此,您必须在没有图标或没有控制台的情况下运行。