Rich Text Processing

Overview of Qt’s rich text processing, editing, and display features.

Qt provides a set of classes for creating, editing, and rendering structured rich text documents. These classes center around QTextDocument , which represents a rich text document with a well-defined internal structure. Working directly with QTextDocument allows applications to create, modify, and inspect rich text without relying on intermediate markup formats.

You can access document information via two complementary interfaces:

Interface

Description

Cursor-based interface ( QTextCursor )

Supports editing operations that mimic user actions in a text editor. Edits maintain the structural integrity of the underlying document.

Read-only hierarchical interface

Provides a high-level structural view of the document. It is useful for tasks such as searching, inspection, and exporting content.

Rich Text Serialization

QTextDocument supports serialization to and from these markup formats:

  • HTML: A defined subset of HTML is supported for loading and saving. See Supported HTML Subset .

  • Markdown: QTextDocument can parse Markdown in both CommonMark and GitHub dialects.

Rich Text Topics

Rich Text Processing APIs

Qt provides an extensive collection of classes for parsing, rendering manipulating and editing rich text.

PySide6.QtGui.QAbstractTextDocumentLayout

The QAbstractTextDocumentLayout class is an abstract base class used to implement custom layouts for QTextDocuments.

PySide6.QtGui.QFont

The QFont class specifies a query for a font used for drawing text.

PySide6.QtGui.QSyntaxHighlighter

The QSyntaxHighlighter class 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.

PySide6.QtGui.QTextCursor

The QTextCursor class offers an API to access and modify QTextDocuments.

PySide6.QtGui.QTextDocument

The QTextDocument class holds formatted text.

PySide6.QtGui.QTextDocumentFragment

The QTextDocumentFragment class represents a piece of formatted text from a QTextDocument.

PySide6.QtGui.QTextDocumentWriter

The QTextDocumentWriter class provides a format-independent interface for writing a QTextDocument to files or other devices.

PySide6.QtGui.QTextLength

The QTextLength class encapsulates the different types of length used in a QTextDocument.

PySide6.QtGui.QTextFormat

The QTextFormat class provides formatting information for a QTextDocument.

PySide6.QtGui.QTextCharFormat

The QTextCharFormat class provides formatting information for characters in a QTextDocument.

PySide6.QtGui.QTextBlockFormat

The QTextBlockFormat class provides formatting information for blocks of text in a QTextDocument.

PySide6.QtGui.QTextListFormat

The QTextListFormat class provides formatting information for lists in a QTextDocument.

PySide6.QtGui.QTextFrameFormat

The QTextFrameFormat class provides formatting information for frames in a QTextDocument.

PySide6.QtGui.QTextTableFormat

The QTextTableFormat class provides formatting information for tables in a QTextDocument.

PySide6.QtGui.QTextImageFormat

The QTextImageFormat class provides formatting information for images in a QTextDocument.

PySide6.QtGui.QTextTableCellFormat

The QTextTableCellFormat class provides formatting information for table cells in a QTextDocument.

PySide6.QtGui.QTextInlineObject

The QTextInlineObject class represents an inline object in a QAbstractTextDocumentLayout and its implementations.

PySide6.QtGui.QTextLayout

The QTextLayout class is used to lay out and render text.

PySide6.QtGui.QTextLine

The QTextLine class represents a line of text inside a QTextLayout.

PySide6.QtGui.QTextList

The QTextList class provides a decorated list of items in a QTextDocument.

PySide6.QtGui.QTextObject

The QTextObject class is a base class for different kinds of objects that can group parts of a QTextDocument together.

PySide6.QtGui.QTextBlockGroup

The QTextBlockGroup class provides a container for text blocks within a QTextDocument.

PySide6.QtGui.QTextFrame

The QTextFrame class represents a frame in a QTextDocument.

QTextFrame.iterator

The iterator class provides an iterator for reading the contents of a QTextFrame.

PySide6.QtGui.QTextBlockUserData

The QTextBlockUserData class is used to associate custom data with blocks of text.

PySide6.QtGui.QTextBlock

The QTextBlock class provides a container for text fragments in a QTextDocument.

QTextBlock.iterator

The QTextBlock::iterator class provides an iterator for reading the contents of a QTextBlock.

PySide6.QtGui.QTextFragment

The QTextFragment class holds a piece of text in a QTextDocument with a single QTextCharFormat.

PySide6.QtGui.QTextOption

The QTextOption class provides a description of general rich text properties.

PySide6.QtGui.QTextTableCell

The QTextTableCell class represents the properties of a cell in a QTextTable.

PySide6.QtGui.QTextTable

The QTextTable class represents a table in a QTextDocument.