how to write the lambda expression in my tkinter ?
守株待兔
1248283536 at qq.com
Tue Aug 23 01:10:10 EDT 2011
from Tkinter import *
fields = 'Name', 'Job', 'Pay'
def fetch(event,entries):
for entry in entries:
print 'Input => "%s"' % entry.get() # get text
print event.widget
def makeform(root, fields):
entries = []
for field in fields:
row = Frame(root) # make a new row
lab = Label(row, width=5, text=field) # add label, entry
ent = Entry(row)
row.pack(side=TOP, fill=X) # pack row on top
lab.pack(side=LEFT)
ent.pack(side=RIGHT, expand=YES, fill=X) # grow horizontal
entries.append(ent)
return entries
if __name__ == '__main__':
root = Tk()
ents = makeform(root, fields)
root.bind('<Return>', lambda event,entries=ents: fetch(event,entries))
Button(root, text='Fetch', command= lambda event:fetch(event,entries)).pack(side=LEFT)
root.mainloop()
when you run it ,press enter ,you can get the value in the entry;when you click the Button(Fetch),there is a wrong output ,i can't revise it,i know it is the 26 can't run ,how to fix it ?
Button(root, text='Fetch', command= lambda event:fetch(event,entries)).pack(side=LEFT)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20110823/83cb9b2b/attachment.html>
More information about the Python-list
mailing list