QTreeWidgetItem在python3中不可哈希

时间:2017-02-09 15:15:50

标签: python-3.x pyqt5

我需要将一些python2代码移植到python3。 在那里,我发现创建了dict QTreeWidgetItem。在Python 2中,这个工作正常,因为该对象是可清除的。但是在python 3中,你会收到一个错误,因为__hash__没有实现:

$ python2
>>> from PyQt5 import QtWidgets
>>> x = QtWidgets.QTreeWidgetItem()
>>> foo = {x: 23}
>>> hash(x)
-9223363252877437056

$ python3
>>> from PyQt5 import QtWidgets
>>> x = QtWidgets.QTreeWidgetItem()
>>> hash(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'QTreeWidgetItem'

我认为这是一个错误或是否有任何原因,我没有看到?

PyQt5文档没有提到这方面的任何内容,对于QTreeWidgetItem,只有C ++文档可用,这在这个特定于python的情况下没有帮助。

0 个答案:

没有答案