Может ли кто-нибудь помочь мне выяснить иерархию между QTextEdit, QTextDocment, QTextBlock, QTextFrame и т. д.?

Может ли кто-нибудь помочь мне выяснить отношения между QTextEdit, QTextDocment, QTextBlock, QTextFrame и т. д.?

Мне нужен обзор, заранее спасибо.

Я просто хочу хорошо знать QTextEdit. Возможно, кто-то хочет отметить меня как ленивого, потому что я могу понять это, читая документы qt-project. Да, это правильно, и я это делаю. Но, может быть, это не тривиальная вещь для меня.


person waterd    schedule 05.09.2014    source источник


Ответы (2)


QTextEdit — это виджет, который отображает QTextDocument, который имеет один корень QTextFrame, состоит из QTextBlock и может иметь дочерние QTextFrame.

person Oleh Prypin    schedule 05.09.2014
comment
Идеальный обзор. Спасибо. - person waterd; 05.09.2014

с использованием шаблона проектирования MVC QTextEdit — это представление (и частично контроллер), а QTextDocment — это модель.

Итак, QTextDocment — это просто контейнер для текстовых данных и макета текста. QTextBlock представляет один абзац в документе. QTextCursor — инструмент для внесения любых изменений в текстовый документ (модель).

Я рекомендовал прочитать документацию, она довольно хороша.

person Marek R    schedule 05.09.2014
comment
Спасибо, что сказали мне, что QTextEdit — это представление. Я знал MVC в Qt, но у меня нет четкого представления об иерархии Qt MVC. Я также думаю, что официальные документы Qt довольно хороши. делать. - person waterd; 05.09.2014
comment
Есть ли у вас какие-либо идеи о том, как сделать QTextFrame или QTextBlock фоновым изображением? Я хочу показать тексты на указанном изображении в QTextEdit. - person waterd; 09.09.2014