Windows 7x64 Python2.7
Pythonスレッド ソリューションのレキシカル クロージャーを自分のコードに適用しようとしています。for ループおよびレキシカル環境でのクロージャ
画像とサムネイルのペアのリストを確認し、サムネイルを表示します。ラベルをクリックすると、フル サイズの画像を含む新しい TopLevel が表示されます。
実際には、ImagePairs の最後の画像のみが表示されます。調べてみると、上に投稿したスレッドが見つかりましたが、それを自分の状況に正確に適用する方法がわかりません。
row, col = 0, 0
#create a frame for the row
rowFrame = Frame(master)
for image, thumb in ImagePairs:
curLbl = Label(rowFrame, image=thumb)
curLbl.grid(row=0, column=col, sticky='news')
curLbl.bind('<Button-1>', lambda e:self.popImage(image)) #or curLbl.image
col += 1
if col >= 3:
rowFrame.grid(row=row)
#create a new frame, for the next row
rowFrame = Frame(master)
col = 0
row += 1
私は次のような関数を作ることを考えました
def func(img=img):
return img
grid() と bind() の間のスペースに挿入しますが、画像が見つからないというエラーが発生します。それに合うようにコードを変更するにはどうすればよいですか?