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