2013-01-17 2 views

답변

4

편집 : 질문이 이미 요청되었습니다. Serialization with Qt

가장 좋은 방법은 QDataStream을 사용하여 일련 번호를 지정하는 것입니다. 당신이 어떤을 직렬화 할 수없는 주어진 클래스 MyClass를 들어, 당신은 .... 참고

QDataStream &operator<<(QDataStream &, const MyClass &); 
QDataStream &operator>>(QDataStream &, MyClass &); 

QDataStream 이미 등 여러 Qt는 클래스, 대부분의 컬렉션과 QImage 같은 다른 convenients 클래스를 작성 할 수있는 새로운 스트림 사업자

를 정의 할 필요가 서브 클래스는 QObject입니다. 이유는 있습니다. 그러나 QObject 자체가 복사 생성자도 제공하지도 않고 위와 같은 \ out 스트림 함수도 제공하지 않는다는 설명으로 제한하십시오.

사용자 지정 클래스가 이미 serialization을 제공하는 클래스를 파생하는 경우이 슈퍼 클래스에 대한 스트림 연산자를 호출해야합니다 (하위 클래스를 생성 할 때 수퍼 클래스의 생성자를 호출하는 것과 동일한 원칙).

+0

많은 많은 감사 :) 그것은 많은 도움이된다! !! –

+0

QOBject 하위 클래스를 직렬화 할 수 없다는 점은 의미가 있습니다. :) 그러면 위대한 혼란을 야기 할 것입니다. D –

관련 문제