[PyQt] QPointF comparison is kinda wrong
Florian Bruhin
me at the-compiler.org
Tue Jun 30 12:26:28 BST 2015
* Arseniy Terekhin <senyai at gmail.com> [2015-06-30 13:38:38 +0300]:
> Windows 7, python 2.7.10, PYQT_VERSION_STR = '4.11.4'
>
> >>> from PyQt4.QtCore import QPointF as p
> >>> p() < p()
> True
> >>> p() < p()
> False
> [...]
That's not anything specific to PyQt - it's just how Python 2
(unfortunately) implements comparing of incomparable types - it uses
their identity (id()) if they are of the same type:
>>> class Foo(object): pass
...
>>> Foo() < Foo()
True
>>> Foo() < Foo()
True
>>> Foo() < Foo()
False
>>> Foo() < Foo()
True
>>> Foo() < Foo()
False
On Python 3, you get a much more sensible result:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unorderable types: QPointF() < QPointF()
Needless to say, I recommend switching to Python 3 ;)
Florian
--
http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP)
GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc
I love long mails! | http://email.is-not-s.ms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20150630/855f164c/attachment.sig>
More information about the PyQt
mailing list