2017-10-15 467 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")