【问题标题】:How can I set a tkinter app icon with a URL?如何设置带有 URL 的 tkinter 应用程序图标?
【发布时间】:2014-03-02 21:25:35
【问题描述】:

如果我有:

from Tkinter import *
app = Tk()

...

app.mainloop()

我会使用app.iconbitmap(...)吗?

如果是这样,我将如何使用this 作为文件,我应该导入urllib

【问题讨论】:

  • 我不明白。您是否有存储的图像作为 URL 的超链接,或者您想从 URL 中检索用作图标的图像?
  • 我有this link,我需要通过 URL 检索它。 @alex-桑顿
  • 是的,我希望它在tk 图标的位置,并且在它打开时出现在 Windows 任务栏中。如果可能的话。 @alex-桑顿
  • 我很确定如果你把它放在主程序显示中是可能的,但我不认为它是为了程序图标。至少我不知道怎么做。对不起。
  • 好吧,PyInstaller 让您可以更改图标,这样您就不必经历那些乱七八糟的事情了。使用--icon=myfile.ico 运行它。

标签: python tkinter tk


【解决方案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 运行,但使用pythonw.exe 运行也使它在没有控制台的情况下运行。

因此,您要么必须在没有图标的情况下运行,要么在没有控制台的情况下运行。

【讨论】:

    【解决方案2】:

    这是对我在 Windows 和 Linux 上都有效的调用。我发现我不能在 Linux 上使用 ico 文件,所以只能使用在两个平台上都可以使用的 gif 文件。

    class Editor(tk.Tk):
       . . .
       . . . 
       self.tk.call('wm', 'iconphoto', self._w, tk.PhotoImage(file = "my_icon.gif"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 2022-11-14
      • 1970-01-01
      • 2011-11-03
      • 2013-08-17
      • 2018-05-29
      相关资源
      最近更新 更多