【发布时间】:2014-04-06 04:08:10
【问题描述】:
找到一个 Qt 对象的实例作为 MyClass() 的属性会导致两页崩溃日志的原因会很有趣。以及如何避免:
import sys, os, pickle
from PyQt4 import QtGui
class MyClass(object):
def __init__(self):
self.myQtWidget=QtGui.QPushButton()
pass
app = QtGui.QApplication(sys.argv)
myInstance=MyClass()
pickle.dump( myInstance, open( "save.mydata", "wb" ) )
【问题讨论】:
-
我很想知道您为什么需要腌制一个 QWidget 的实例。在我看来,这就像 xy 问题的一个案例(参见 meta.stackexchange.com/questions/66377/what-is-the-xy-problem )。如果您需要解决方案,可能值得提出一个新问题,解释您试图用酸洗解决方案解决什么(因为如下所示,酸洗不起作用)
-
@three_pineapples。同意您的评估,除非 OP 真的不需要腌制小部件,而只是需要腌制类实例包含的其他东西。如果是这样,我在下面的评论提供了一个解决方案。但即便如此,对于可能存在缺陷的设计,这似乎是一种骇人听闻的解决方法。