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

Tkinter 2.7中调用mainloop()后图片无法显示问题求助

修复Tkinter 2.7中图片无法显示的问题

我帮你找到了代码里两个导致图片不显示的关键问题,咱们来逐个解决:

问题1:PhotoImage初始化参数错误

在Python 2.7的Tkinter里,PhotoImage不能直接传文件名作为第一个参数,必须显式指定file参数来指向图片路径。你的代码里PhotoImage("Python.png")是错误的写法。

问题2:图片对象被垃圾回收

photo是函数内部的局部变量,当Label完成初始化后,Python的垃圾回收机制可能会把这个变量销毁,导致Label找不到图片资源。解决办法是给Label添加一个属性来保留对photo的引用。

修复后的完整代码

from Tkinter import Tk, PhotoImage, Label
def start_up():
    app = Tk()
    app.title("Tower")
    app.geometry('600x900')
    # 修复1:显式指定file参数
    photo = PhotoImage(file="Python.png")
    label = Label(app, image=photo)
    # 修复2:保留图片对象的引用,防止被垃圾回收
    label.image = photo
    label.pack()
    app.mainloop()
start_up()

另外还要注意:确保Python.png和你的脚本文件在同一个目录下,如果不在的话,要传入完整的图片路径(比如file="/home/user/Pictures/Python.png")。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:29:35