[PyQt] Comparing QString with QChar
Hans-Peter Jansen
hpj at urpla.net
Fri Jun 27 11:34:28 BST 2008
Am Freitag, 27. Juni 2008 schrieb Mark Summerfield:
> 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?
Mark, while I won't anticipate Phil's statement, the problem is:
PyQt is unfortunately full of those unintuitivnesses, because C++ implicit
casts are hard to handle here.
If you start formulate the rules, for which you want to do automatic
conversions, you will find yourself in a twisted maze quickly. Doing them
one by one (as this case might imply) is an awful lot of work..
The question is - where to start, where to stop?
Greetings,
Pete
More information about the PyQt
mailing list