Op Mon, 16 Jul 2012 12:11:11 +0100 Phil Thompson <p...@riverbankcomputing.com> schreef:
> On Fri, 13 Jul 2012 15:49:48 +0200, Rodolfo Zitellini > <xhero...@gmail.com> wrote: > > The offending code is in setup.py, when it reads the language: > > language = QSettings().value("language", "") > > print language > > if not language: > > try: > > language = locale.getdefaultlocale()[0] > > except ValueError: > > pass > > if not language: > > language = "C" > > return language > > > > in linux, language prints None, on osx it prints QPyNullVariant. it > > will then evaluate False in "if not language" and then crash when it > > arrives in __init__.py. > > > > This used to work with qt 4.7 on osx. Just upgrading to 4.8 breaks > > everything. > > Any ideas? > > It would suggest that there is a null QVariant stored in the settings > for "language". If there was no value stored then "" would be > returned. A workaround would therefore be to update or delete the > settings data either manually or with a little script. > > Phil I'm the author of Frescobaldi. I was not expecting QPyNullVariant() to be returned when I specify a default value. Why is it that bool(the returned QPyNullVariant) defaults to True? What is the best way to check for a possible QPyNullVariant to be returned from the QSettings().value() method? (I.e. it should also work on PyQt-4.7 systems). My code uses QSettings().value almost everywhere. I was happy with the simple interface, although it would be nice if the returned value would be forced in the type of the default value if specified. When I must check for more possible types to be returned, I must create a wrapper function for it, I guess.... Wilbert -- Wilbert Berendsen (http://www.wilbertberendsen.nl) _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt