找到爲什麼將Qt對象的實例作爲MyClass()的屬性導致兩頁崩潰日誌會很有趣。而如何避免它:Python:Pickle和Qt(PyQT)
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問題的例子(參見http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。如果您需要解決方案,可能需要提出一個新問題來解釋您嘗試使用酸洗解決方案解決的問題(因爲您可以在下面看到,酸洗不起作用) –
@three_pineapples。同意你的評估,除非OP不真的需要醃製小部件,而只是類實例包含的其他東西。如果是這樣,我的評論下面提供了一個解決方案。但即便如此,對於可能存在缺陷的設計來說,這似乎是一個駭人的解決方法。 – ekhumoro