内容表

上一话题

QTextCursor

下一话题

QTextDocumentFragment

QTextDocument

QTextDocument class holds formatted text. 更多

Inheritance diagram of PySide2.QtGui.QTextDocument

概要

函数

虚函数

信号

详细描述

QTextDocument is a container for structured rich text documents, providing support for styled text and various types of document elements, such as lists, tables, frames, and images. They can be created for use in a QTextEdit ,或独立使用。

Each document element is described by an associated format object. Each format object is treated as a unique object by QTextDocuments, and can be passed to objectForFormat() to obtain the document element that it is applied to.

A QTextDocument can be edited programmatically using a QTextCursor , and its contents can be examined by traversing the document structure. The entire document structure is stored as a hierarchy of document elements beneath the root frame, found with the rootFrame() function. Alternatively, if you just want to iterate over the textual contents of the document you can use begin() , end() ,和 findBlock() to retrieve text blocks that you can examine and iterate over.

The layout of a document is determined by the documentLayout() ; you can create your own QAbstractTextDocumentLayout subclass and set it using setDocumentLayout() if you want to use your own layout logic. The document’s title and other meta-information can be obtained by calling the metaInformation() function. For documents that are exposed to users through the QTextEdit class, the document title is also available via the documentTitle() 函数。

toPlainText() and toHtml() convenience functions allow you to retrieve the contents of the document as plain text and HTML. The document’s text can be searched using the find() 函数。

Undo/redo of operations performed on the document can be controlled using the setUndoRedoEnabled() function. The undo/redo system can be controlled by an editor widget through the undo() and redo() slots; the document also provides contentsChanged() , undoAvailable() ,和 redoAvailable() signals that inform connected editor widgets about the state of the undo/redo system. The following are the undo/redo operations of a QTextDocument :

  • Insertion or removal of characters. A sequence of insertions or removals within the same text block are regarded as a single undo/redo operation.

  • Insertion or removal of text blocks. Sequences of insertion or removals in a single operation (e.g., by selecting and then deleting text) are regarded as a single undo/redo operation.

  • Text character format changes.

  • Text block format changes.

  • Text block group format changes.

class QTextDocument ( [ parent=None ] )

QTextDocument(text[, parent=None])

param parent

QObject

param text

unicode

构造空 QTextDocument 采用给定 parent .

PySide2.QtGui.QTextDocument. MetaInformation

This enum describes the different types of meta information that can be added to a document.

常量

描述

QTextDocument.DocumentTitle

The title of the document.

QTextDocument.DocumentUrl

The url of the document. The loadResource() function uses this url as the base when loading relative resources.

PySide2.QtGui.QTextDocument. MarkdownFeature

New in version 5.14.

PySide2.QtGui.QTextDocument. FindFlag

This enum describes the options available to QTextDocument ‘s find function. The options can be OR-ed together from the following list:

常量

描述

QTextDocument.FindBackward

Search backwards instead of forwards.

QTextDocument.FindCaseSensitively

By default find works case insensitive. Specifying this option changes the behaviour to a case sensitive find operation.

QTextDocument.FindWholeWords

Makes find match only complete words.

PySide2.QtGui.QTextDocument. ResourceType

This enum describes the types of resources that can be loaded by QTextDocument ‘s loadResource() function or by setSource() .

常量

描述

QTextDocument.UnknownResource

No resource is loaded, or the resource type is not known.

QTextDocument.HtmlResource

The resource contains HTML.

QTextDocument.ImageResource

The resource contains image data. Currently supported data types are Pixmap and 图像 . If the corresponding variant is of type ByteArray then Qt attempts to load the image using loadFromData . Icon is currently not supported. The icon needs to be converted to one of the supported types first, for example using pixmap .

QTextDocument.StyleSheetResource

The resource contains CSS.

QTextDocument.MarkdownResource

The resource contains Markdown.

QTextDocument.UserResource

The first available value for user defined resource types.

另请参阅

loadResource() sourceType()

PySide2.QtGui.QTextDocument. Stacks

常量

描述

QTextDocument.UndoStack

撤消堆栈。

QTextDocument.RedoStack

重做堆栈。

QTextDocument.UndoAndRedoStacks

撤消和重做堆栈。

New in version 4.7.

PySide2.QtGui.QTextDocument. addResource ( type , name , resource )
参数
  • type int

  • name QUrl

  • resource – object

Adds the resource resource to the resource cache, using type and name as identifiers. type should be a value from ResourceType .

For example, you can add an image as a resource in order to reference it from within the document:

document->addResource(QTextDocument::ImageResource,
    QUrl("mydata://image.png"), QVariant(image));
											

The image can be inserted into the document using the QTextCursor API:

QTextImageFormat imageFormat;
imageFormat.setName("mydata://image.png");
cursor.insertImage(imageFormat);
											

Alternatively, you can insert images using the HTML img tag:

editor->append("<img src=\"mydata://image.png\" />");
											
PySide2.QtGui.QTextDocument. adjustSize ( )

把文档调整到合理大小。

PySide2.QtGui.QTextDocument. allFormats ( )
返回类型

Returns a vector of text formats for all the formats used in the document.

PySide2.QtGui.QTextDocument. availableRedoSteps ( )
返回类型

int

返回可用的重做步骤数。

另请参阅

isRedoAvailable()

PySide2.QtGui.QTextDocument. availableUndoSteps ( )
返回类型

int

返回可用的撤消步骤数。

另请参阅

isUndoAvailable()

PySide2.QtGui.QTextDocument. baseUrl ( )
返回类型

QUrl

另请参阅

setBaseUrl()

PySide2.QtGui.QTextDocument. baseUrlChanged ( url )
参数

url QUrl

PySide2.QtGui.QTextDocument. begin ( )
返回类型

QTextBlock

Returns the document’s first text block.

另请参阅

firstBlock()

PySide2.QtGui.QTextDocument. blockCount ( )
返回类型

int

PySide2.QtGui.QTextDocument. blockCountChanged ( newBlockCount )
参数

newBlockCount int

PySide2.QtGui.QTextDocument. characterAt ( pos )
参数

pos int

返回类型

QChar

返回字符位于位置 pos ,或 null 字符若位置超出范围。

另请参阅

characterCount()

PySide2.QtGui.QTextDocument. characterCount ( )
返回类型

int

返回此文档的字符数。

注意

As a QTextDocument 始终包含至少一 ParagraphSeparator ,此方法将至少返回 1。

PySide2.QtGui.QTextDocument. clear ( )

清理文档。

PySide2.QtGui.QTextDocument. clearUndoRedoStacks ( [ historyToClear=UndoAndRedoStacks ] )
参数

historyToClear Stacks

清零堆栈,指定通过 stacksToClear .

此方法清零撤消堆栈、重做堆栈或两者 (默认) 中的所有命令。若命令被清零,适当信号被发射, undoAvailable() or redoAvailable() .

PySide2.QtGui.QTextDocument. clone ( [ parent=None ] )
参数

parent QObject

返回类型

QTextDocument

创建新 QTextDocument that is a copy of this text document. parent is the parent of the returned text document.

PySide2.QtGui.QTextDocument. contentsChange ( from , charsRemoved , charsAdded )
参数
  • from int

  • charsRemoved int

  • charsAdded int

PySide2.QtGui.QTextDocument. contentsChanged ( )
PySide2.QtGui.QTextDocument. createObject ( f )
参数

f QTextFormat

返回类型

QTextObject

Creates and returns a new document object (a QTextObject ), based on the given format .

QTextObjects will always get created through this method, so you must reimplement it if you use custom text objects inside your document.

PySide2.QtGui.QTextDocument. cursorPositionChanged ( cursor )
参数

cursor QTextCursor

PySide2.QtGui.QTextDocument. defaultCursorMoveStyle ( )
返回类型

CursorMoveStyle

The default cursor movement style is used by all QTextCursor objects created from the document. The default is LogicalMoveStyle .

PySide2.QtGui.QTextDocument. defaultFont ( )
返回类型

QFont

Returns the default font to be used in the document layout.

另请参阅

setDefaultFont()

PySide2.QtGui.QTextDocument. defaultStyleSheet ( )
返回类型

unicode

PySide2.QtGui.QTextDocument. defaultTextOption ( )
返回类型

QTextOption

The default text option is used on all QTextLayout objects in the document. This allows setting global properties for the document such as the default word wrap mode.

PySide2.QtGui.QTextDocument. documentLayout ( )
返回类型

QAbstractTextDocumentLayout

返回此文档的文档布局。

PySide2.QtGui.QTextDocument. documentLayoutChanged ( )
PySide2.QtGui.QTextDocument. documentMargin ( )
返回类型

qreal

PySide2.QtGui.QTextDocument. drawContents ( painter [ , rect=QRectF() ] )
参数

Draws the content of the document with painter p , clipped to rect 。若 rect is a null rectangle (default) then the document is painted unclipped.

PySide2.QtGui.QTextDocument. end ( )
返回类型

QTextBlock

此函数返回当遍历时,测试文档结尾的块。

for (QTextBlock it = doc->begin(); it != doc->end(); it = it.next())
    cout << it.text().toStdString() << Qt::endl;
											

返回的块无效,表示文档最后块之后的块。可以使用 lastBlock() to retrieve the last valid block of the document.

另请参阅

lastBlock()

PySide2.QtGui.QTextDocument. find ( expr [ , from=0 [ , options=QTextDocument.FindFlags() ] ] )
参数
  • expr QRegExp

  • from int

  • options FindFlags

返回类型

QTextCursor

PySide2.QtGui.QTextDocument. find ( subString [ , from=0 [ , options=QTextDocument.FindFlags() ] ] )
参数
  • subString – unicode

  • from int

  • options FindFlags

返回类型

QTextCursor

PySide2.QtGui.QTextDocument. find ( subString , cursor [ , options=QTextDocument.FindFlags() ] )
参数
  • subString – unicode

  • cursor QTextCursor

  • options FindFlags

返回类型

QTextCursor

PySide2.QtGui.QTextDocument. find ( expr [ , from=0 [ , options=QTextDocument.FindFlags() ] ] )
参数
  • expr QRegularExpression

  • from int

  • options FindFlags

返回类型

QTextCursor

PySide2.QtGui.QTextDocument. find ( expr , cursor [ , options=QTextDocument.FindFlags() ] )
参数
  • expr QRegularExpression

  • cursor QTextCursor

  • options FindFlags

返回类型

QTextCursor

PySide2.QtGui.QTextDocument. find ( expr , cursor [ , options=QTextDocument.FindFlags() ] )
参数
返回类型

QTextCursor

PySide2.QtGui.QTextDocument. findBlock ( pos )
参数

pos int

返回类型

QTextBlock

返回文本块包含 pos -th character.

PySide2.QtGui.QTextDocument. findBlockByLineNumber ( blockNumber )
参数

blockNumber int

返回类型

QTextBlock

返回文本块包含指定 lineNumber .

另请参阅

firstLineNumber()

PySide2.QtGui.QTextDocument. findBlockByNumber ( blockNumber )
参数

blockNumber int

返回类型

QTextBlock

返回文本块采用指定 blockNumber .

另请参阅

blockNumber()

PySide2.QtGui.QTextDocument. firstBlock ( )
返回类型

QTextBlock

Returns the document’s first text block.

PySide2.QtGui.QTextDocument. frameAt ( pos )
参数

pos int

返回类型

QTextFrame

Returns the frame that contains the text cursor position pos .

PySide2.QtGui.QTextDocument. idealWidth ( )
返回类型

qreal

Returns the ideal width of the text document. The ideal width is the actually used width of the document without optional alignments taken into account. It is always <= size() . width() .

PySide2.QtGui.QTextDocument. indentWidth ( )
返回类型

qreal

另请参阅

setIndentWidth()

PySide2.QtGui.QTextDocument. isEmpty ( )
返回类型

bool

返回 true 若文档为空;否则返回 false .

PySide2.QtGui.QTextDocument. isModified ( )
返回类型

bool

PySide2.QtGui.QTextDocument. isRedoAvailable ( )
返回类型

bool

返回 true 若重做可用;否则返回 false .

PySide2.QtGui.QTextDocument. isUndoAvailable ( )
返回类型

bool

返回 true 若撤消可用;否则返回 false .

PySide2.QtGui.QTextDocument. isUndoRedoEnabled ( )
返回类型

bool

PySide2.QtGui.QTextDocument. lastBlock ( )
返回类型

QTextBlock

Returns the document’s last (valid) text block.

PySide2.QtGui.QTextDocument. lineCount ( )
返回类型

int

Returns the number of lines of this document (if the layout supports this). Otherwise, this is identical to the number of blocks.

PySide2.QtGui.QTextDocument. loadResource ( type , name )
参数
  • type int

  • name QUrl

返回类型

object

Loads data of the specified type from the resource with the given name .

This function is called by the rich text engine to request data that isn’t directly stored by QTextDocument , but still associated with it. For example, images are referenced indirectly by the name attribute of a QTextImageFormat 对象。

When called by Qt, type is one of the values of ResourceType .

QTextDocument is a child object of a QObject that has an invokable method such as QTextEdit , QTextBrowser QTextDocument itself then the default implementation tries to retrieve the data from the parent.

PySide2.QtGui.QTextDocument. markContentsDirty ( from , length )
参数
  • from int

  • length int

Marks the contents specified by the given position and length as “dirty”, informing the document that it needs to be laid out again.

PySide2.QtGui.QTextDocument. maximumBlockCount ( )
返回类型

int

PySide2.QtGui.QTextDocument. metaInformation ( info )
参数

info MetaInformation

返回类型

unicode

Returns meta information about the document of the type specified by info .

PySide2.QtGui.QTextDocument. modificationChanged ( m )
参数

m bool

PySide2.QtGui.QTextDocument. object ( objectIndex )
参数

objectIndex int

返回类型

QTextObject

Returns the text object associated with the given objectIndex .

PySide2.QtGui.QTextDocument. objectForFormat ( arg__1 )
参数

arg__1 QTextFormat

返回类型

QTextObject

Returns the text object associated with the format f .

PySide2.QtGui.QTextDocument. pageCount ( )
返回类型

int

返回此文档中的页数。

PySide2.QtGui.QTextDocument. pageSize ( )
返回类型

QSizeF

另请参阅

setPageSize()

PySide2.QtGui.QTextDocument. print_ ( printer )
参数

printer QPagedPaintDevice

Prints the document to the given printer QPagedPaintDevice must be set up before being used with this function.

This is only a convenience method to print the whole document to the printer.

If the document is already paginated through a specified height in the pageSize() property it is printed as-is.

If the document is not paginated, like for example a document used in a QTextEdit , then a temporary copy of the document is created and the copy is broken into multiple pages according to the size of the paint device’s paperRect(). By default a 2 cm margin is set around the document contents. In addition the current page number is printed at the bottom of each page.

另请参阅

print()

PySide2.QtGui.QTextDocument. redo ( )

这是重载函数。

Redoes the last editing operation on the document if redo is available .

PySide2.QtGui.QTextDocument. redo ( cursor )
参数

cursor QTextCursor

Redoes the last editing operation on the document if redo is available .

The provided cursor is positioned at the end of the location where the edition operation was redone.

PySide2.QtGui.QTextDocument. redoAvailable ( arg__1 )
参数

arg__1 bool

PySide2.QtGui.QTextDocument. resource ( type , name )
参数
  • type int

  • name QUrl

返回类型

object

Returns data of the specified type from the resource with the given name .

This function is called by the rich text engine to request data that isn’t directly stored by QTextDocument , but still associated with it. For example, images are referenced indirectly by the name attribute of a QTextImageFormat 对象。

Resources are cached internally in the document. If a resource can not be found in the cache, loadResource is called to try to load the resource. loadResource should then use addResource to add the resource to the cache.

另请参阅

ResourceType

PySide2.QtGui.QTextDocument. revision ( )
返回类型

int

Returns the document’s revision (if undo is enabled).

The revision is guaranteed to increase when a document that is not modified is edited.

PySide2.QtGui.QTextDocument. rootFrame ( )
返回类型

QTextFrame

Returns the document’s root frame.

PySide2.QtGui.QTextDocument. setBaseUrl ( url )
参数

url QUrl

另请参阅

baseUrl()

PySide2.QtGui.QTextDocument. setDefaultCursorMoveStyle ( style )
参数

style CursorMoveStyle

Sets the default cursor movement style to the given style .

PySide2.QtGui.QTextDocument. setDefaultFont ( font )
参数

font QFont

Sets the default font to use in the document layout.

另请参阅

defaultFont()

PySide2.QtGui.QTextDocument. setDefaultStyleSheet ( sheet )
参数

sheet – unicode

PySide2.QtGui.QTextDocument. setDefaultTextOption ( option )
参数

option QTextOption

Sets the default text option to option .

PySide2.QtGui.QTextDocument. setDocumentLayout ( layout )
参数

layout QAbstractTextDocumentLayout

Sets the document to use the given layout . The previous layout is deleted.

PySide2.QtGui.QTextDocument. setDocumentMargin ( margin )
参数

margin qreal

另请参阅

documentMargin()

PySide2.QtGui.QTextDocument. setHtml ( html )
参数

html – unicode

Replaces the entire contents of the document with the given HTML-formatted text in the html string. The undo/redo history is reset when this function is called.

The HTML formatting is respected as much as possible; for example, “<b>bold</b> text” will produce text where the first word has a font weight that gives it a bold appearance: “ bold text”.

注意

调用者有责任确保正确解码文本当 QString containing HTML is created and passed to .

PySide2.QtGui.QTextDocument. setIndentWidth ( width )
参数

width qreal

设置 width used for text list and text block indenting.

The indent properties of QTextListFormat and QTextBlockFormat specify multiples of this value. The default indent width is 40 .

另请参阅

indentWidth()

PySide2.QtGui.QTextDocument. setMarkdown ( markdown [ , features=QTextDocument.MarkdownDialectGitHub ] )
参数
  • markdown – unicode

  • features MarkdownFeatures

Replaces the entire contents of the document with the given Markdown-formatted text in the markdown string, with the given features supported. By default, all supported GitHub-style Markdown features are included; pass MarkdownDialectCommonMark for a more basic parse.

The Markdown formatting is respected as much as possible; for example, “*bold* text” will produce text where the first word has a font weight that gives it an emphasized appearance.

Parsing of HTML included in the markdown string is handled in the same way as in setHtml ; however, Markdown formatting inside HTML blocks is not supported.

Some features of the parser can be enabled or disabled via the features argument:

  • MarkdownNoHTML

  • Any HTML tags in the Markdown text will be discarded

默认为 MarkdownDialectGitHub .

The undo/redo history is reset when this function is called.

PySide2.QtGui.QTextDocument. setMaximumBlockCount ( maximum )
参数

maximum int

PySide2.QtGui.QTextDocument. setMetaInformation ( info , arg__2 )
参数

Sets the document’s meta information of the type specified by info 到给定 string .

另请参阅

metaInformation()

PySide2.QtGui.QTextDocument. setModified ( [ m=true ] )
参数

m bool

另请参阅

isModified()

PySide2.QtGui.QTextDocument. setPageSize ( size )
参数

size QSizeF

另请参阅

pageSize()

PySide2.QtGui.QTextDocument. setPlainText ( text )
参数

text – unicode

Replaces the entire contents of the document with the given plain text . The undo/redo history is reset when this function is called.

另请参阅

setHtml()

PySide2.QtGui.QTextDocument. setTextWidth ( width )
参数

width qreal

另请参阅

textWidth()

PySide2.QtGui.QTextDocument. setUndoRedoEnabled ( enable )
参数

enable bool

PySide2.QtGui.QTextDocument. setUseDesignMetrics ( b )
参数

b bool

PySide2.QtGui.QTextDocument. size ( )
返回类型

QSizeF

PySide2.QtGui.QTextDocument. textWidth ( )
返回类型

qreal

另请参阅

setTextWidth()

PySide2.QtGui.QTextDocument. toHtml ( [ encoding=QByteArray() ] )
参数

encoding QByteArray

返回类型

unicode

Returns a string containing an HTML representation of the document.

encoding parameter specifies the value for the charset attribute in the html header. For example if ‘utf-8’ is specified then the beginning of the generated html will look like this:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body>...
											

If no encoding is specified then no such meta information is generated.

If you later on convert the returned html string into a byte array for transmission over a network or when saving to disk you should specify the encoding you’re going to use for the conversion to a byte array here.

PySide2.QtGui.QTextDocument. toMarkdown ( [ features=QTextDocument.MarkdownDialectGitHub ] )
参数

features MarkdownFeatures

返回类型

unicode

Returns a string containing a Markdown representation of the document with the given features , or an empty string if writing fails for any reason.

另请参阅

setMarkdown

PySide2.QtGui.QTextDocument. toPlainText ( )
返回类型

unicode

Returns the plain text contained in the document. If you want formatting information use a QTextCursor 代替。

This function returns the same as toRawText() , but will replace some unicode characters with ASCII alternatives. In particular, no-break space (U+00A0) is replaced by a regular space (U+0020), and both paragraph (U+2029) and line (U+2028) separators are replaced by line feed (U+000A). If you need the precise contents of the document, use toRawText() 代替。

注意

Embedded objects, such as images, are represented by a Unicode value U+FFFC (OBJECT REPLACEMENT CHARACTER).

另请参阅

toHtml()

PySide2.QtGui.QTextDocument. toRawText ( )
返回类型

unicode

Returns the raw text contained in the document without any formatting information. If you want formatting information use a QTextCursor 代替。

另请参阅

toPlainText()

PySide2.QtGui.QTextDocument. undo ( )

这是重载函数。

PySide2.QtGui.QTextDocument. undo ( cursor )
参数

cursor QTextCursor

Undoes the last editing operation on the document if undo is available. The provided cursor is positioned at the end of the location where the edition operation was undone.

See the Qt Undo Framework documentation for details.

PySide2.QtGui.QTextDocument. undoAvailable ( arg__1 )
参数

arg__1 bool

PySide2.QtGui.QTextDocument. undoCommandAdded ( )
PySide2.QtGui.QTextDocument. useDesignMetrics ( )
返回类型

bool