You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从GitHub仓库获取ICO文件并设置为Tkinter窗口iconbitmap

解决Tkinter窗口从GitHub加载ICO图标的问题

Tkinter的iconbitmap()方法不支持直接传入远程URL,必须使用本地文件路径。要实现从GitHub仓库获取ICO并设置为窗口图标,需要先将文件下载到本地(可以是临时文件),再调用iconbitmap()。

实现步骤:

  • 通过Python的网络请求库下载GitHub上的ICO文件到本地临时路径
  • 将本地文件路径传入window.iconbitmap()完成图标设置

完整代码示例:

import tkinter as tk
import urllib.request
import tempfile
import os

window = tk.Tk()
window.title("Feedback And Rating")
window.geometry("300x350")

# 下载GitHub上的ICO文件到临时文件
ico_url = "https://raw.githubusercontent.com/AngusAU293/Application-Assets/main/Feedback%20And%20Rating%20Example/icon.ico"
with tempfile.NamedTemporaryFile(delete=False, suffix=".ico") as temp_file:
    urllib.request.urlretrieve(ico_url, temp_file.name)
    # 设置窗口图标
    window.iconbitmap(temp_file.name)

# 窗口关闭时清理临时文件
def on_closing():
    os.unlink(temp_file.name)
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)

window.mainloop()

关键说明:

  • 使用tempfile.NamedTemporaryFile创建临时文件,无需手动指定固定路径
  • urllib.request.urlretrieve可直接将远程资源保存到本地文件
  • 新增窗口关闭时的清理逻辑,避免临时文件残留

内容的提问来源于stack exchange,提问作者AngusAU293

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 23:14:56