When using v2 of the API for QString and QVariant, if you write a boolean value to a QSettings file and then read the value back in from a different session, it comes back as a unicode string. Example:<br><br>##################<br>

# write out the qsettings file<br>##################<br>import sip<br>sip.setapi(&#39;QVariant&#39;, 2)<br>sip.setapi(&#39;QString&#39;, 2)<br><br>from PyQt4 import QtCore<br><br>settings = QtCore.QSettings()<br>settings.setValue(&quot;foo&quot;, False)<br>

<br>##################<br>
# separate session, read in the qsettings file<br>
##################<br>import sip<br>
sip.setapi(&#39;QVariant&#39;, 2)<br>
sip.setapi(&#39;QString&#39;, 2)<br>
<br>
from PyQt4 import QtCore<br>
<br>
settings = QtCore.QSettings()<br>
val = settings.value(&quot;foo&quot;)<br>print &quot;val = %s (%s)&quot; % (val, type(val))<br>
<br>