Aha! Thanks<br><br><div class="gmail_quote">On Wed, Mar 10, 2010 at 12:52 PM, Phil Thompson <span dir="ltr">&lt;<a href="mailto:phil@riverbankcomputing.com">phil@riverbankcomputing.com</a>&gt;</span> wrote:<br><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="h5">On Wed, 10 Mar 2010 11:58:48 +0000, Jugdish &lt;<a href="mailto:jugdizh@gmail.com">jugdizh@gmail.com</a>&gt; wrote:<br>
&gt; How do you pass an arbitrary python object in/out of a QDataStream when<br>
you<br>
&gt; have the SIP API set to version 2 for QVariants?<br>
&gt;<br>
&gt;&gt;&gt;&gt; import sip<br>
&gt;&gt;&gt;&gt; sip.setapi(&#39;QVariant&#39;, 2)<br>
&gt;&gt;&gt;&gt; from PyQt4 import QtCore<br>
&gt;&gt;&gt;&gt; data = QtCore.QByteArray()<br>
&gt;&gt;&gt;&gt; outstream = QtCore.QDataStream(data, QtCore.QIODevice.WriteOnly)<br>
&gt;&gt;&gt;&gt; outstream &lt;&lt; {&#39;foo&#39;:&#39;bar&#39;}<br>
&gt; Traceback (most recent call last):<br>
&gt;   File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<br>
&gt; TypeError: unsupported operand type(s) for &lt;&lt;: &#39;QDataStream&#39; and &#39;dict&#39;<br>
&gt;&gt;&gt;&gt; outstream &lt;&lt; QtCore.QVariant({&#39;foo&#39;:&#39;bar&#39;})<br>
&gt; Traceback (most recent call last):<br>
&gt;   File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<br>
&gt; TypeError: PyQt4.QtCore.QVariant represents a mapped type and cannot be<br>
&gt; instantiated<br>
<br>
</div></div>QDataStream.readQVariant() and QDataStream.writeQVariant()<br>
<font color="#888888"><br>
Phil<br>
</font></blockquote></div><br>