2017-10-15 470 views
0

我试图创建一个程序,在循环中显示一系列图像,但create_image()函数只绘制我试图绘制的最后一个图像。create_image()函数python只显示循环中的最后一个图像

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

您应该查看[问]和[mcve]并相应地编辑您的问题 – pvg

回答

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")