[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: [PyQt] Re: Serious problem with QVariant v2 API and QSettings
From: Phil Thompson <phil () riverbankcomputing ! com>
Date: 2009-12-29 14:43:59
Message-ID: 2f478dccd0a6de87653e24a933f3737f () localhost
[Download RAW message or body]
On Tue, 29 Dec 2009 14:45:16 +0100, detlev <detlev@die-offenbachs.de>
wrote:
> Hi,
>
> QSettings is not working correctly with the QVariant v2 API. Enter the
> following in a Python console.
>
>>>> import sip
>>>> sip.setapi("QString",2)
>>>> sip.setapi("QVariant",2)
>>>> from PyQt4.QtCore import *
>>>> s=QSettings()
>>>> s.setValue("k1", 1)
>>>> s.value("k1")
> 1
>>>> s=None
>>>> s=QSettings()
>>>> s.value("k1")
> u'1'
>>>>
>
> Setting the variable s to None causes the contents to be written to
disk.
> After recreating the QSettings object, which causes the previously saved
> file
> to be read, the formerly int value has changed to a unicode string. Same
> happens for bool values (and probably other Python types). A list of
> integers
> is changed to a list of strings.
...which is exactly what you would expect if the back-end format being
used doesn't store the types of values.
You have to convert the value to an object of the required type - just
like you do with the v1 API using one of QVariant's methods.
Phil
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic