尝试取消pickle QObject
(使用Python 2.7、PyQt4或5、pickle或cPickle),将引发以下RuntimeError
:
RuntimeError: super-class __init__() of type QObject was never called
一个简单的例子:
cPickle.loads(cPickle.dumps(QtCore.QObject(), cPickle.HIGHEST_PROTOCOL))
我知道,通过设计,取消勾选对象不会调用对象的__init__()
方法。你知道吗
那么,在本例中,如何确保调用超类__init__()
?你知道吗
有人问了一个貌似相似的问题,但没有人回答。你知道吗
基于this answer的一个可能的解决方案可以实现如下(一个稍微复杂一点的示例,带有一个自定义属性):
如果需要,可以使用
setParent()
设置父级。你知道吗相关问题 更多 >
编程相关推荐