2010-04-06 5 views
0

필자는 그림과 텍스트 (MS Word가하는 것처럼)를 저장하는 capabale 인 필드 (일종의 QTextEdit)를 사용하고 그림 + 텍스트 데이터를 직렬화 및 비순환 변환합니다. 거기에 우리가 그림과 텍스트 simultaniously로 조작 할 수있는 어떤 Qt를 위젯이 있나요? 그것은/serializable 형식으로 작동하는 함수를 설정하고 있나요? 다른 말로하면, 그림 + 텍스트를 저장할 수있는 Qt 위젯과 QDataStream을 사용하여 직렬화 할 수있는 유형 인 편집 가능한 영역의 내용을 반환하는 "get"유형의 함수가 있다는 것을 알고 싶습니다.Qt - 텍스트와 그림의 serialize/deserialaize

답변

1

나는 당신의 모든 필요를 만족시킬만한 것이 있다고 생각하지 않는다.

텍스트 + 이미지를 표시하려면 QTextEdit을 사용할 수 있습니다. 즉, 상당히 풍부한 HTML 하위 집합을 표시 할 수 있습니다. 기본적으로 QTextEdit을 사용하면 QTextDocument 객체를 읽고 편집 할 수 있습니다. 즉, 직렬화 및 비 직렬화하려는 내용입니다.

그러나 QTextDocument에 대한 직렬화의 기본 구현은 없습니다. 나는이 기능에 대한 요청을 보았다,하지만이 구현 될 때 누가 알 겠어 : http://bugreports.qt-project.org/browse/QTBUG-9258

편집 1 : QTextDocument의 모든 빌딩 블록 직렬화 때문에 QTextDocument의 구현 직렬화/역 직렬화가, 복잡한에 방법이 안된다. 이미지는 QTextDocument에 저장되며 QVariant로 사용할 수 있습니다. html 자체는 문자열이므로 모든 것을 하나로 묶기에는 너무 복잡하지 않아야합니다.

1

텍스트 및 그림이 들어있는 데이터 구조를 만들 것입니다. 그런 다음 디스플레이 위젯 내에서 해당 데이터 구조 (또는 객체)를 사용할 수 있습니다. 이렇게하면 위젯을 직렬화하지 않고 데이터를 직렬화 할 수 있습니다. 이는 원하는 것이 아닌 것입니다.

직렬화의 경우 QDataStream을 살펴 보시기 바랍니다.

다음 게시물 QDataStream에 대한 몇 가지 세부 사항을 제공 :

Serialization with Qt

Overloading the QDataStream << and >> operators for a user-defined type

Reading/Writing QObject

관련 문제