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.
PySide2.QtGui.QAbstractTextDocumentLayout
The QAbstractTextDocumentLayout class is an abstract base class used to implement custom layouts for QTextDocuments.
PySide2.QtGui.QFont
The QFont class specifies a query for a font used for drawing text.
PySide2.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.
PySide2.QtGui.QTextCursor
The QTextCursor class offers an API to access and modify QTextDocuments.
PySide2.QtGui.QTextDocument
The QTextDocument class holds formatted text.
PySide2.QtGui.QTextDocumentFragment
The QTextDocumentFragment class represents a piece of formatted text from a QTextDocument.
PySide2.QtGui.QTextDocumentWriter
The QTextDocumentWriter class provides a format-independent interface for writing a QTextDocument to files or other devices.
PySide2.QtGui.QTextLength
The QTextLength class encapsulates the different types of length used in a QTextDocument.
PySide2.QtGui.QTextFormat
The QTextFormat class provides formatting information for a QTextDocument.
PySide2.QtGui.QTextCharFormat
The QTextCharFormat class provides formatting information for characters in a QTextDocument.
PySide2.QtGui.QTextBlockFormat
The QTextBlockFormat class provides formatting information for blocks of text in a QTextDocument.
PySide2.QtGui.QTextListFormat
The QTextListFormat class provides formatting information for lists in a QTextDocument.
PySide2.QtGui.QTextFrameFormat
The QTextFrameFormat class provides formatting information for frames in a QTextDocument.
PySide2.QtGui.QTextTableFormat
The QTextTableFormat class provides formatting information for tables in a QTextDocument.
PySide2.QtGui.QTextImageFormat
The QTextImageFormat class provides formatting information for images in a QTextDocument.
PySide2.QtGui.QTextTableCellFormat
The QTextTableCellFormat class provides formatting information for table cells in a QTextDocument.
PySide2.QtGui.QTextInlineObject
The QTextInlineObject class represents an inline object in a QAbstractTextDocumentLayout and its implementations.
PySide2.QtGui.QTextLayout
The QTextLayout class is used to lay out and render text.
PySide2.QtGui.QTextLine
The QTextLine class represents a line of text inside a QTextLayout.
PySide2.QtGui.QTextList
The QTextList class provides a decorated list of items in a QTextDocument.
PySide2.QtGui.QTextObject
The QTextObject class is a base class for different kinds of objects that can group parts of a QTextDocument together.
PySide2.QtGui.QTextBlockGroup
The QTextBlockGroup class provides a container for text blocks within a QTextDocument.
PySide2.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.
PySide2.QtGui.QTextBlockUserData
The QTextBlockUserData class is used to associate custom data with blocks of text.
PySide2.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.
PySide2.QtGui.QTextFragment
The QTextFragment class holds a piece of text in a QTextDocument with a single QTextCharFormat.
PySide2.QtGui.QTextOption
The QTextOption class provides a description of general rich text properties.
PySide2.QtGui.QTextTableCell
The QTextTableCell class represents the properties of a cell in a QTextTable.
PySide2.QtGui.QTextTable
The QTextTable class represents a table in a QTextDocument.
PySide2.QtWidgets.QPlainTextDocumentLayout
The QPlainTextDocumentLayout class implements a plain text layout for QTextDocument.
PySide2.QtWidgets.QPlainTextEdit
The QPlainTextEdit class provides a widget that is used to edit and display plain text.
PySide2.QtWidgets.QTextBrowser
The QTextBrowser class provides a rich text browser with hypertext navigation.
PySide2.QtWidgets.QTextEdit
The QTextEdit class provides a widget that is used to edit and display both plain and rich text.
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.