Using __hash__ functions for custom classes

Stephen Knox <[email protected]> Tue, 31 Mar 2020 01:58:09 +0100
Newsgroups gmane.comp.python.pyqt-pykde
Message-ID <CAFkojsaotk_tVxNsJg_Ug_-NEhY9tGhSts2F+QGaQniwJjRSew@mail.gmail.com>
Noob question here.

Is there any guidance on how to implement __hash__ functions for custom
classes. Should they be generated automatically if there is a qHash
function?

I am trying specifically to debug this issue:
https://github.com/qgis/QGIS/issues/29225, which is caused by the
QgsActionScope class not having a hash function. There is an __eq__
function but no __hash__ function.

Code is at
https://github.com/qgis/QGIS/blob/master/src/core/qgsactionscope.cpp,
https://github.com/qgis/QGIS/blob/master/src/core/qgsactionscope.h and
https://github.com/qgis/QGIS/blob/master/python/core/auto_generated/qgsactionscope.sip.in
.

I have tried implementing a special-method in the sip.in file but can't
seem to get the syntax right, and I am unsure whether this is necessary or
not.

Thanks

Stephen

_______________________________________________
PyQt mailing list    [email protected]
https://www.riverbankcomputing.com/mailman/listinfo/pyqt