here  is my code ,it can run ,i  want to make it simpler,<br>to  change  three  sentences  to one,<br>    xb =Button(root, text='Fetch')<br>    xb.pack(side=LEFT)<br>    xb.bind("<Button-1>", partial(fetch, entries=ents))<br>    <br>i  write:<br>    Button(root, text='Fetch',command=partial(fetch, entries=ents)).pack(side=LEFT)<br><br>that is to change code1  into  code2 ,when you click  the button"fetch",the output is :<br>TypeError: fetch() takes exactly 2 arguments (1 given)<br><br>how to revise it?<br><br>code1:(it's ok)<br>from Tkinter import *<br>from functools import partial<br>fields = 'Name', 'Job', 'Pay'<br>     <br>def fetch(event, entries):<br>    for entry in entries:<br>        print 'Input => "%s"' % entry.get()        <br>        print  event.widget <br>     <br>     <br>def makeform(root, fields):<br>    entries = []<br>    for field in fields:<br>        row = Frame(root)                           <br>        lab = Label(row, width=5, text=field)       <br>        ent = Entry(row)<br>        row.pack(side=TOP, fill=X)                   <br>        lab.pack(side=LEFT)<br>        ent.pack(side=RIGHT, expand=YES, fill=X)     <br>        entries.append(ent)<br>    return entries<br>           <br>     <br>if __name__ == '__main__':<br>           <br>    root = Tk()<br>    ents = makeform(root, fields)<br>    root.bind('<Return>', partial(fetch, entries=ents))     <br>    xb =Button(root, text='Fetch')<br>    xb.pack(side=LEFT)<br>    xb.bind("<Button-1>", partial(fetch, entries=ents))<br>    root.mainloop() <br>           <br>code2:<br><br>from Tkinter import *<br>from functools import partial<br>fields = 'Name', 'Job', 'Pay'<br>     <br>def fetch(event, entries):<br>    for entry in entries:<br>        print 'Input => "%s"' % entry.get()        <br>        print  event.widget <br>     <br>     <br>def makeform(root, fields):<br>    entries = []<br>    for field in fields:<br>        row = Frame(root)                           <br>        lab = Label(row, width=5, text=field)       <br>        ent = Entry(row)<br>        row.pack(side=TOP, fill=X)                   <br>        lab.pack(side=LEFT)<br>        ent.pack(side=RIGHT, expand=YES, fill=X)     <br>        entries.append(ent)<br>    return entries<br>           <br>     <br>if __name__ == '__main__':<br>           <br>    root = Tk()<br>    ents = makeform(root, fields)<br>    root.bind('<Return>', partial(fetch, entries=ents))<br>    Button(root, text='Fetch',command=partial(fetch, entries=ents)).pack(side=LEFT)    <br>    root.mainloop()<br>