2017-10-15 2 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

[ask]と[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") 
関連する問題