On Nov 22, 2007 11:48 AM, Phil Thompson &lt;<a href="mailto:phil@riverbankcomputing.co.uk">phil@riverbankcomputing.co.uk</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Thursday 22 November 2007, Alexandre Badez wrote:<br>&gt; On Nov 22, 2007 11:09 AM, Phil Thompson &lt;<a href="mailto:phil@riverbankcomputing.co.uk">phil@riverbankcomputing.co.uk</a>
&gt;<br>&gt;<br>&gt; wrote:<br>&gt; &gt; On Thursday 22 November 2007, Alexandre Badez wrote:<br>&gt; &gt; &gt; On Nov 21, 2007 5:26 PM, Alexandre Badez &lt;<a href="mailto:alexandre.badez@gmail.com">alexandre.badez@gmail.com
</a>&gt;<br>&gt; &gt;<br>&gt; &gt; wrote:<br>&gt; &gt; &gt; &gt; On Nov 21, 2007 5:06 PM, Andreas Pakulat &lt;<a href="mailto:apaku@gmx.de">apaku@gmx.de</a>&gt; wrote:<br>&gt; &gt; &gt; &gt; &gt; [...]<br>&gt; &gt; &gt; &gt; &gt; You can&#39;t, unless you copy the code, translate it to python and put
<br>&gt; &gt;<br>&gt; &gt; it<br>&gt; &gt;<br>&gt; &gt; &gt; &gt; &gt; into your own delegate. Only whats documented in the API &nbsp;docs can<br>&gt; &gt;<br>&gt; &gt; be<br>&gt; &gt;<br>&gt; &gt; &gt; &gt; &gt; used without copying it, everything else in Qt&#39;s code is private.
<br>&gt; &gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; &gt; Andreas<br>&gt; &gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; &gt; --<br>&gt; &gt; &gt; &gt; &gt; Your mode of life will be changed for the better because of new<br>&gt; &gt; &gt; &gt; &gt; developments.
<br>&gt; &gt; &gt; &gt; &gt; _______________________________________________<br>&gt; &gt; &gt; &gt; &gt; PyQt mailing list &nbsp; &nbsp; <a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>&gt; &gt; &gt; &gt; &gt; 
<a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Thanks<br>&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; --<br>&gt; &gt; &gt; &gt; Alex<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Hye,<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; I&#39;m steel trying to make my deletage, but I&#39;ve steel have some problem.<br>&gt; &gt; &gt; My application must be multi-plateform, so I develop for win32 and Unix
<br>&gt; &gt; &gt; (SunOs 5.8).<br>&gt; &gt; &gt; On Windows I&#39;ve got:<br>&gt; &gt; &gt; &nbsp; PyQt 4.0 (262 144)<br>&gt; &gt; &gt; &nbsp; Qt 4.1.5 (even if PyQt give me the information: Qt 4.1.3 (262 403)<br>&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Unix I&#39;ve got:<br>&gt; &gt; &gt; &nbsp; PyQt 4.1.1 (262 401)<br>&gt; &gt; &gt; &nbsp; Qt 4.1.4 (262 404)<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; In my delegate I&#39;m doing this:<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; from PyQt4 import QtGui
<br>&gt; &gt; &gt; class myDelegate(QtGui.QItemDelegate):<br>&gt; &gt; &gt; &nbsp; &nbsp; def paint(self, painter, option, index):<br>&gt; &gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; [...]<br>&gt; &gt; &gt; &nbsp; &nbsp; &nbsp; &nbsp; self.decoration(...) # &lt;- method protected declare in C++
<br>&gt; &gt; &gt; object [...]<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; This code work great on window, but not on Unix (AttributError).<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; What am I doing wrong ?<br>&gt; &gt;<br>&gt; &gt; QItemDelegate::decoration() is internal to Qt.
<br>&gt; &gt;<br>&gt; &gt; Phil<br>&gt; &gt; _______________________________________________<br>&gt; &gt; PyQt mailing list &nbsp; &nbsp;<a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>&gt; &gt; <a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">
http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br>&gt;<br>&gt; But why does it work in Win32 and not on Unix ?<br><br></div></div>Wrong question. Why does it work with PyQt 4.0 and not with PyQt 4.1.1?<br><br>
...because the very first versions of PyQt4 incorrectly exposed internal Qt<br>functions.<br><div class="Ih2E3d"><br>&gt; Those method, even if they are not documented, are protected, so I can<br>&gt; normally do it in C++; so why not in python ?
<br><br></div>Because PyQt only exposes the official Qt API.<br><div><div></div><div class="Wj3C7c"><br>Phil<br>_______________________________________________<br>PyQt mailing list &nbsp; &nbsp;<a href="mailto:PyQt@riverbankcomputing.com">
PyQt@riverbankcomputing.com</a><br><a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a><br></div></div></blockquote></div><br>Thanks everybody for your answers.
<br>I swear I will try not to use private method anymore :P<br><br>By the way, is there a better than re implement the complete paint method ?<br>I mean, I just want to change the color of the line according to the &quot;type&quot; of the node (but not in every view).
<br><br>@Andreas: I wish I could update my different versions.<br>But, my unix administration service his quiet... crappy? So they do not want to upgrade (it&#39;s the same for python (2.4), PyQt, and dozen of other library / framework). That their politic...
<br><br>-- <br>Alex<br>