Rich Text Processing#
An overview of Qt’s rich text processing, editing and display features.
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.
PySide6.QtGui.QAbstractTextDocumentLayoutThe QAbstractTextDocumentLayout class is an abstract base class used to implement custom layouts for QTextDocuments.
PySide6.QtGui.QFontThe QFont class specifies a query for a font used for drawing text.
PySide6.QtGui.QSyntaxHighlighterThe 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.QTextCursorThe QTextCursor class offers an API to access and modify QTextDocuments.
PySide6.QtGui.QTextDocumentThe QTextDocument class holds formatted text.
PySide6.QtGui.QTextDocumentFragmentThe QTextDocumentFragment class represents a piece of formatted text from a QTextDocument.
PySide6.QtGui.QTextDocumentWriterThe QTextDocumentWriter class provides a format-independent interface for writing a QTextDocument to files or other devices.
PySide6.QtGui.QTextLengthThe QTextLength class encapsulates the different types of length used in a QTextDocument.
PySide6.QtGui.QTextFormatThe QTextFormat class provides formatting information for a QTextDocument.
PySide6.QtGui.QTextCharFormatThe QTextCharFormat class provides formatting information for characters in a QTextDocument.
PySide6.QtGui.QTextBlockFormatThe QTextBlockFormat class provides formatting information for blocks of text in a QTextDocument.
PySide6.QtGui.QTextListFormatThe QTextListFormat class provides formatting information for lists in a QTextDocument.
PySide6.QtGui.QTextFrameFormatThe QTextFrameFormat class provides formatting information for frames in a QTextDocument.
PySide6.QtGui.QTextTableFormatThe QTextTableFormat class provides formatting information for tables in a QTextDocument.
PySide6.QtGui.QTextImageFormatThe QTextImageFormat class provides formatting information for images in a QTextDocument.
PySide6.QtGui.QTextTableCellFormatThe QTextTableCellFormat class provides formatting information for table cells in a QTextDocument.
PySide6.QtGui.QTextInlineObjectThe QTextInlineObject class represents an inline object in a QAbstractTextDocumentLayout and its implementations.
PySide6.QtGui.QTextLayoutThe QTextLayout class is used to lay out and render text.
PySide6.QtGui.QTextLineThe QTextLine class represents a line of text inside a QTextLayout.
PySide6.QtGui.QTextListThe QTextList class provides a decorated list of items in a QTextDocument.
PySide6.QtGui.QTextObjectThe QTextObject class is a base class for different kinds of objects that can group parts of a QTextDocument together.
PySide6.QtGui.QTextBlockGroupThe QTextBlockGroup class provides a container for text blocks within a QTextDocument.
PySide6.QtGui.QTextFrameThe QTextFrame class represents a frame in a QTextDocument.
QTextFrame.iteratorThe iterator class provides an iterator for reading the contents of a QTextFrame.
PySide6.QtGui.QTextBlockUserDataThe QTextBlockUserData class is used to associate custom data with blocks of text.
PySide6.QtGui.QTextBlockThe QTextBlock class provides a container for text fragments in a QTextDocument.
QTextBlock.iteratorThe QTextBlock::iterator class provides an iterator for reading the contents of a QTextBlock.
PySide6.QtGui.QTextFragmentThe QTextFragment class holds a piece of text in a QTextDocument with a single QTextCharFormat.
PySide6.QtGui.QTextOptionThe QTextOption class provides a description of general rich text properties.
PySide6.QtGui.QTextTableCellThe QTextTableCell class represents the properties of a cell in a QTextTable.
PySide6.QtGui.QTextTableThe QTextTable class represents a table in a QTextDocument.
PySide6.QtWidgets.QPlainTextDocumentLayoutThe QPlainTextDocumentLayout class implements a plain text layout for QTextDocument.
PySide6.QtWidgets.QPlainTextEditThe QPlainTextEdit class provides a widget that is used to edit and display plain text.
PySide6.QtWidgets.QTextBrowserThe QTextBrowser class provides a rich text browser with hypertext navigation.
PySide6.QtWidgets.QTextEditThe QTextEdit class provides a widget that is used to edit and display both plain and rich text.