[PyQt] Comparing QString with QChar
hpj at urpla.net
Fri Jun 27 11:34:28 BST 2008
Am Freitag, 27. Juni 2008 schrieb Mark Summerfield:
> I got caught by this today:
> >>> from PyQt4.QtCore import *
> >>> s = QString("X")
> >>> c = QChar("X")
> >>> s == c
> >>> s == QString(c)
> In C++/Qt if you do the s == c comparison it will return true because
> operator returns a const QChar &, but in PyQt4 s 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
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?
More information about the PyQt