lambda
Laura Creighton
lac at cd.chalmers.se
Wed May 23 12:31:43 EDT 2001
I use lambda for things like this:
if __name__ == '__main__':
root = Tkinter.Tk()
w = Tkinter.Button(root, text='This is a very green button', width= 30, fg='green')
buttonList = (
['show', lambda x = w: x.grid(row=0, col=0, columnspan= 5)],
['pink', lambda x = w: x.configure(fg='pink')],
['yellow', lambda x = w: x.configure(bg='yellow')],
['Exit', root.destroy],
)
column = 0
for txt, cmd in buttonList:
button = Tkinter.Button(root, text = txt, command = cmd)
button.grid(row=1, col=column, sticky = 'w')
column = column + 1
root.mainloop()
If I had just used w.grid up there I would get a yellow button with pink
text. This form is concise. What do the lambda dislikers suggest I do
instead? (This is a serious question)
Laura Creighton
More information about the Python-list
mailing list