[PyKDE] Error when overloading QTable.paintCell
    Phil Thompson 
    phil at riverbankcomputing.co.uk
       
    Fri Jun 13 18:37:01 BST 2003
    
    
  
On Friday 13 June 2003 5:17 pm, Frederick Polgardy Jr wrote:
> Weird, if you add the QColorGroup arg to both (the other overloaded version
> of the method), you then get the opposite exception!:
>
> ...
>     def paintCell(self, painter, row, col, rect, selected, cg):
>         QTable.paintCell(self, painter, row, col, rect, selected, cg)
> ...
>
> TypeError: paintCell() takes exactly 7 arguments (6 given)
>
> Could SIP be mixing up which version is getting mapped to which C++ method?
Remember that Python doesn't support methods with the same name but with 
different signatures - you have to handle this explicitly in code.
What you need to do is something like this...
	def paintCell(self, painter, row, col, rect, selected, cg = None):
		if cg:
			QTable.paintCell(self, painter, row, col, rect, selected, cg)
		else:
			QTable.paintCell(self, painter, row, col, rect, selected)
Phil
    
    
More information about the PyQt
mailing list