[PyQt] Using __hash__ functions for custom classes

Stephen Knox stephenknox73 at gmail.com
Tue Mar 31 01:58:09 BST 2020


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20200331/aa686d12/attachment.htm>


More information about the PyQt mailing list