我正在尝试创建一个在循环中显示一系列图像的程序,但create_image()函数仅绘制我尝试绘制的最后一个图像。
for i in range(len(imgList)):
filename = PhotoImage(file = str(imgList[i]).lower() + ".png")
C.create_image(45 * (i + 1), 5, anchor=NE, image=filename)
print("created image")
这会打印“创建的图像”,但需要多次打印,但只显示最后一张图像 imgList只是所有图像的名称
答案 0 :(得分:0)
在tkinter中显示图像时,您需要保留对分配给它们的变量的引用,否则会收集垃圾。请尝试以下方法:
c.images = list()
for i in range(len(imgList)):
image = PhotoImage(file = str(imgList[i]).lower() + ".png")
c.create_image(45 * (i + 1), 5, anchor=NE, image=image)
c.images.append(image)
print("created image")