gpt4 book ai didi

python - 运行时错误: Too early to create image

转载 作者:行者123 更新时间:2023-12-01 08:32:17 26 4
gpt4 key购买 nike

我正在尝试创建一个图像库并从 tkinter 中的该图像库调用图像。 。但这段代码给了我一个错误:

这是图片库文件img.py :

from tkinter import *
food_0001 = PhotoImage(file='food_0001.gif')
food_0002 = PhotoImage(file='bg.gif')

这是用于打开存储在img.py中的图像的文件。 :

from tkinter import *
import img

window = Tk()
window.title('image')
canvas = Canvas(window, width = 800, height = 800)
canvas.pack()
canvas.create_image(0,0, anchor=NW, image=food_0001)

window.mainloop()

最佳答案

这是因为 PhotoImage() 只能在创建 Tk() 之后调用。

建议仅在需要时重写img.py以创建PhotoImage()。以下是执行此操作的示例方法:

from tkinter import *

imagelist = {
'food_0001': ['food_0001.png', None],
'food_0002': ['bg.png', None],
}

def get(name):
if name in imagelist:
if imagelist[name][1] is None:
print('loading image:', name)
imagelist[name][1] = PhotoImage(file=imagelist[name][0])
return imagelist[name][1]
return None

然后修改您的主程序以适应更改:

from tkinter import *
import img

window = Tk()
window.title('image')
canvas = Canvas(window, width=800, height=800)
canvas.pack()
canvas.create_image(0, 0, anchor='nw', image=img.get('food_0001'))

window.mainloop()

当然,还有很多其他方法可以做到这一点,这取决于您的想象力。

关于python - 运行时错误: Too early to create image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53861528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com