[PyQt] Comparing QString with QChar

Mark Summerfield mark at qtrac.eu
Fri Jun 27 16:57:27 BST 2008


On 2008-06-27, Phil Thompson wrote:
> On Fri, 27 Jun 2008 09:38:04 +0100, Mark Summerfield <mark at qtrac.eu> wrote:
> > Hi,
> >
> > I got caught by this today:
> >     >>> from PyQt4.QtCore import *
> >     >>> s = QString("X")
> >     >>> c = QChar("X")
> >     >>> s[0] == c
> >
> >     False
> >
> >     >>> s[0] == QString(c)
> >
> >     True
> >
> > In C++/Qt if you do the s[0] == c comparison it will return true because
> > operator[] returns a const QChar &, but in PyQt4 s[0] is still a
> > QString---which makes sense because in Python a char is just a str of
> > length 1, but maybe this particular case could be handled more
> > intuitively?
>
> By allowing a QChar whenever a QString is expected?

Seems reasonable given that Python doesn't make the char/str
distinction.

Of course what would be really nice is to say something like:

    from __future__ import native_str

to help get rid of QString usage. (I _like_ QString, but I just find the
Qt Jambi solution so much better;-)


-- 
Mark Summerfield, Qtrac Ltd., www.qtrac.eu



More information about the PyQt mailing list