0
python 2.7とTkinterを使用しています。 私はループ内に4つのlablesを作成し、それらにバインドしています。私は、ラベルがラベルのテキストに の名前を返すようにします。 問題は、どのラベルを押しても最後のラベルの名前が返されるということです。 私はこの問題を正確には私の問題とPython Tkinter: Bind function with labels in for loopが見つかりましたが、私がコードを正確にコピーしても、与えられた解決策はうまくいきません。 誰か教えてくださいここに私のオリジナルのコードです:Tkinterのラベルが適切な値を返さない
# labelbind.py
from Tkinter import *
root = Tk()
root.title('Label choices')
root.geometry('1160x900+650+50')
root.option_readfile('setstyle2.txt')
def lblpress(x):
print 'Label pressed', x
names = ['AMEX', 'CIBC', 'VISA', 'BMO']
col = 150
row = 45
num = 1
for name in names:
bobo = 'lbl' + str(num)
print bobo, name
bobo = Label(root, text = name)
bobo.bind('<ButtonRelease-1>', lambda x = name : lblpress(name))
bobo.place(x = col, y = row)
row += 40
num += 1
root.mainloop()
@Brianオークリー。私はあなたが答えて、あなたが私の問題を解決したことを非常に確信していました。 Tkinterのドキュメンテーションは、死海のパピルスを解読しようとするようなものです...ソースが多すぎるので一貫性はほとんどありません。 Muchas gracias! – Albert