[PyQt] A possible bug in PyQt when loading Boolean values via QSettings
Phil Thompson
phil at riverbankcomputing.com
Sun Dec 26 11:04:09 GMT 2010
On Sat, 25 Dec 2010 22:15:29 +1100, Xavion <xavion.0 at gmail.com> wrote:
> This used to work fine when my PyQt code was in Python v2 syntax. I was
> using 'QVariant' when saving Boolean values and 'toBool()' when loading
> them.
In other words your application was explicitly saying how the value should
be interpreted.
> Now that I've upgraded my code to Python v3 syntax, 'QVariant' is gone
and
> I
> possibly shouldn't need to use 'bool()' either. Given that Python wants
to
> receive 'False' when loading Boolean values, why is it saved to the
> configuration file as 'false'?
It's saved as a string if the backend can only save strings. It's saved as
"false", rather than "False", probably because it's the obvious value for a
C++ developer to use.
> If this can't be avoided, surely 'QSettings' can be improved to assume
that
> 'false' really means 'False', at least when importing from Linux
> configuration files. What's your opinion about this idea?
A completely invalid assumption that can easily break existing
applications.
Phil
More information about the PyQt
mailing list