Rich Text Processing
The Scribe framework provides a set of classes for reading and manipulating structured rich text documents. Unlike previous rich text support in Qt, the new classes are centered around the QTextDocument class rather than raw textual information. This enables the developer to create and modify structured rich text documents without having to prepare content in an intermediate markup format.
The information within a document can be accessed via two complementary interfaces: A cursor-based interface is used for editing, and a read-only hierarchical interface provides a high level overview of the document structure. The main advantage of the cursor-based interface is that the text can be edited using operations that mimic a user's interaction with an editor, without losing the underlying structure of the document. The read-only hierarchical interface is most useful when performing operations such as searching and document export.
This document is divided up into chapters for convenient reference:
- Rich Text Document Structure outlines the different kinds of elements in a QTextDocument, and describes how they are arranged in a document structure.
- The QTextCursor Interface explains how rich text documents can be edited using the cursor-based interface.
- Document Layouts briefly explains the role of document layouts.
- Common Rich Text Editing Tasks examines some common tasks that involve reading or manipulating rich text documents.
- Advanced Rich Text Processing examines advanced rich text editing tasks.
- Supported HTML Subset lists the HTML tags supported by QTextDocument.
Rich Text Processing APIs
Qt provides an extensive collection of classes for parsing, rendering manipulating and editing rich text.
Abstract base class used to implement custom layouts for QTextDocuments | |
Specifies a font used for drawing text | |
Allows you to define syntax highlighting rules, and in addition you can use the class to query a document's current formatting or user data | |
Offers an API to access and modify QTextDocuments | |
Holds formatted text | |
Represents a piece of formatted text from a QTextDocument | |
Format-independent interface for writing a QTextDocument to files or other devices | |
Formatting information for blocks of text in a QTextDocument | |
Formatting information for characters in a QTextDocument | |
Formatting information for a QTextDocument | |
Formatting information for frames in a QTextDocument | |
Formatting information for images in a QTextDocument | |
Encapsulates the different types of length used in a QTextDocument | |
Formatting information for lists in a QTextDocument | |
Formatting information for table cells in a QTextDocument | |
Formatting information for tables in a QTextDocument | |
Represents an inline object in a QAbstractTextDocumentLayout and its implementations | |
Used to lay out and render text | |
Represents a line of text inside a QTextLayout | |
Decorated list of items in a QTextDocument | |
Container for text fragments in a QTextDocument | |
Container for text blocks within a QTextDocument | |
Used to associate custom data with blocks of text | |
Holds a piece of text in a QTextDocument with a single QTextCharFormat | |
Represents a frame in a QTextDocument | |
Base class for different kinds of objects that can group parts of a QTextDocument together | |
Iterator for reading the contents of a QTextFrame | |
QTextBlock::iterator class provides an iterator for reading the contents of a QTextBlock | |
Description of general rich text properties | |
Represents a table in a QTextDocument | |
Represents the properties of a cell in a QTextTable | |
Implements a plain text layout for QTextDocument | |
Widget that is used to edit and display plain text | |
Rich text browser with hypertext navigation | |
Widget that is used to edit and display both plain and rich text |