前提・実現したいこと
tkinterを使用して画像を取り込む処理を考えております。
コメントアウトしている内容のように1枚単位で取得する分には問題なく取り込め、
tknterアプリは正常動作します。
for文を使用して画像情報を取得しようとすると思った通りの動作にならず、
一番最後の画像のみ表示され、tkinterアプリのClickボタンも動作しません。
for文を使用してコメントアウトしている時と同様の処理をする方法がわかる方は教えてください。
発生している問題・エラーメッセージ
for文を使用すると思っている通りの動作にならない
エラーメッセージは出力されません。
該当のソースコード
import tkinter as tk index=0 def btn_click(): global index index=(index+1) % len(photos) canvas.delete('p1') canvas.create_image(320,213,image=photos[index],tag='p1') root=tk.Tk() root.geometry('700x560') root['bg']='lightgrey' canvas=tk.Canvas(root,width=640,height=426,bd=0, highlightthickness=0, relief='ridge') canvas.pack(pady=20) for i in range(4): photos=[tk.PhotoImage(file='C:/python/png素材/'+str(i)+'.png')] #photos=[ # tk.PhotoImage(file='C:/python/png素材/0.png'), # tk.PhotoImage(file='C:/python/png素材/1.png'), # tk.PhotoImage(file='C:/python/png素材/2.png'), # tk.PhotoImage(file='C:/python/png素材/3.png'), #] canvas.create_image(320,213,image=photos[index],tag='p1') btn=tk.Button(text='Click',command=btn_click) btn.pack(ipadx=10,ipady=5) root.mainloop()
試したこと
for文の変数iの値をprintで確認したところ[0,1,2,3]となっていることを確認。
for文の動きは問題ないように見られました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー