这个错误通常是因为图像对象被垃圾回收器删除了,但Tkinter仍然试图引用它。为了解决这个问题,您可以尝试将图像对象存储为全局变量,以便它不会被删除。在您的代码中,您已经将图像对象存储为全局变量img_tk,但是仍然可能会出现此错误。这可能是因为img_tk没有被正确引用。尝试将以下代码行更改为:

canvas.create_image(0, 0, anchor=NW, image=img_tk)

到:

canvas.create_image(0, 0, anchor="nw", image=img_tk)

将anchor参数从NW更改为"nw",这应该解决问题。如果还有问题,请尝试重新运行程序或使用不同的图像。

from tkinter import from PIL import ImageTk Imageroot = Tk# 设置窗口大小rootgeometry600x400# 打开背景图并转换为Tkinter格式img = Imageopen数据科学jpgimg_tk = ImageTkPhotoImageimg # 存储为全局变量# 添加图像到Canvas组件canvas = Canvasroot

原文地址: https://www.cveoy.top/t/topic/fXqt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录