Nó sẽ khá thú vị để tìm lý do tại sao có một thể hiện của đối tượng Qt như là một thuộc tính của MyClass() gây ra một hai trang sụp đổ đăng nhập. Và làm thế nào để tránh nó:Python: Pickle và 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"))
Tôi muốn biết lý do bạn cần phải chọn một phiên bản của QWidget. Dường như với tôi như trường hợp của vấn đề xy (xem http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Nếu bạn cần một giải pháp, nó có thể là giá trị yêu cầu một câu hỏi mới giải thích những gì bạn đang cố gắng giải quyết với các giải pháp tẩy (vì như bạn có thể thấy dưới đây, tẩy sẽ không hoạt động) –
@three_pineapples. Đồng ý về đánh giá của bạn, trừ khi OP không thực sự cần phải chọn các vật dụng, mà chỉ là những thứ khác mà cá thể lớp chứa. Nếu vậy, bình luận của tôi sẽ cung cấp một giải pháp. Nhưng ngay cả như vậy, điều này có vẻ như một cách giải quyết hackish cho những gì có thể là một thiết kế thiếu sót. – ekhumoro