我在堆中有一个对象和对它的引用。在某些情况下,对象被删除,但指向其位置的引用不知道。我如何检查堆中是否有真实数据?如何知道python中的对象是否被删除
例如:
from PySide import *
a = QProgressBar()
b = QProgressBar()
self.setIndexWidget(index,a)
self.setIndexWidget(index,b)
然后a
对象被删除,但print(a)
返回一个有效的地址。但是,如果您尝试a.value()
- 发生运行时错误(C++对象已被删除)。
a is None
返回False
。
sip.isdeleted(a)当一个对象被删除,没有提出任何异常,我返回真。 – andrean
尽管如此,PySide并不适用,是吗? – neuronet