0
使用python 2.7和Tkinter。 我正在循環中創建四個標籤並將它們綁定到。我希望標籤在標籤文本中返回 的名稱。 問題是,無論我按哪個標籤,它都會返回最後一個標籤中的名稱。 我發現這個問題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()
@布賴恩Oakley的;我很確定你會回答,你解決了我的問題。 Tkinter文檔就像是試圖破譯死海紙莎草紙......許多來源,一致性很低。 Muchas gracias! – Albert