[PyQt] Comparing QString with QChar

Phil Thompson phil at riverbankcomputing.com
Fri Jun 27 18:51:59 BST 2008


On Fri, 27 Jun 2008 16:57:27 +0100, Mark Summerfield <mark at qtrac.eu> wrote:
> 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.

Done in tonight's snapshot.

> 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;-)

Phil



More information about the PyQt mailing list