[PyQt] When can I use 'super' and When I can not

Jason Voegele jason at jvoegele.com
Thu Jan 15 14:18:20 GMT 2009


On Tuesday 13 January 2009 09:53:08 pm Steven Woody wrote:
> In the book 'Rapid GUI Programming with Python and Qt',  chapter 5,
> the author said that the 'super' method won't work in an example code,
> that is a override 'accept()' method, in the end of the 'accept()'
> method, one need to call base class's 'accept()' method.  But if you
> write the code using something like 'super(.., self).accept(self)', it
> will fail, you have to rather write it as QDialog.accept(self).   But
> in the same example program, in the form's __init__() method, it does
> use the 'super()' method without problem.
>
> So, my question is, in exactly what case I can not use super()?  Thanks.

My personal policy is to never use super() at all.  It has some subtle and 
dangerous behaviors that can really bite you if you're not careful.  See here:

    http://fuhm.net/super-harmful/

-- 
Jason Voegele
QOTD:
	Talk about willing people... over half of them are willing to work
	and the others are more than willing to watch them.



More information about the PyQt mailing list