On Tue, 29 Dec 2009 14:45:16 +0100, detlev <[email protected]> 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 [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
