Es wäre ziemlich unterhaltsam zu finden, warum eine Instanz des Qt-Objekts als ein MyClass() Attribut ein zwei Seiten Crash-Protokoll verursacht. Und wie es zu vermeiden:Python: Pickle und 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"))
Ich wäre daran interessiert zu wissen, warum Sie eine Instanz eines QWidget pickle müssen. Es scheint mir ein Fall des xy-Problems zu sein (siehe http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Wenn Sie eine Lösung benötigen, könnte es sich lohnen, eine neue Frage zu stellen und zu erklären, was Sie mit der Beizlösung lösen wollten (denn wie Sie unten sehen können, wird das Beizen nicht funktionieren) –
@three_pineapples. Entspricht Ihrer Einschätzung, es sei denn, das OP muss nicht wirklich die Widgets picken, sondern nur die anderen Dinge, die die Klasseninstanz enthält. Wenn ja, bietet mein Kommentar eine Lösung. Aber trotzdem scheint dies ein hackischer Workaround für ein wahrscheinlich fehlerhaftes Design zu sein. – ekhumoro