On Sat, 29 Jan 2011 14:18:30 +0100, Tobias Blass wrote: > On Sat, 29 Jan 2011, Francesco Bochicchio wrote: > >>> class MainWin(Frame): >>> def create_edit(row,self):
>>> def create_edit(self, row): >> >> >> > Ok it works now. So the problem was that python requires 'self' to be > the first parameter? If you define an instance method, the first parameter is always the instance passed to the method - regardless of the parameters name. In your case the instance was passed to the row parameter. Then again you wanted to pass i to it. That's why the exception was raised. If you just had typed self.create_edit(i), then row would have been the instance (*self*.create_edit(...)) and self would have been i. Naming the first parameter self is only a convention. It could be any other name, too. -- http://mail.python.org/mailman/listinfo/python-list