[PyQt] Calling protected methods on objects

Simon Edwards simon at simonzone.com
Mon Sep 1 21:29:37 BST 2008


Hello Phil,

I'm busy working on integrating Python with Plasma in KDE 4. The API for 
doing network distributed applets is a bit convoluted, there is a lot of 
delegation of methods calls to other objects. I've hit a part where it 
would be really handy if I could call protected methods on objects which 
were not created by Python itself. SIP appears to explicitly prevent 
this kind of access, although I've commented out the check in 
getComplexCppPtr() and it appears to work fine.

* Is there a technical reason why this is forbidden? or is it more 
philosophical?

* I would like an official way in SIP to call protected 
methods/functions regardless of where the object came from. Perhaps, 
just a way to "unlock" an instance making all of its method available. 
Is this possible?

cheers,

-- 
Simon Edwards             | KDE-NL, Guidance tools, Guarddog Firewall
simon at simonzone.com       | http://www.simonzone.com/software/
Nijmegen, The Netherlands | "ZooTV? You made the right choice."


More information about the PyQt mailing list