PySide6.QtGui.QTextDocument

class QTextDocument

QTextDocument 类用于保存格式化文本。更多

PySide6.QtGui.QTextDocument 的继承图

概要

属性

方法

虚拟方法

插槽

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QTextDocument 是一个用于结构化富文本文档的容器,提供对样式文本和各种类型文档元素的支持,例如列表、表格、框架和图像。它们可以创建用于 QTextEdit,或独立使用。

每个文档元素都由一个相关的格式对象描述。每个格式对象都被QTextDocuments视为一个独特的对象,并且可以传递给objectForFormat()以获取它所应用的文档元素。

一个QTextDocument可以通过QTextCursor以编程方式进行编辑,并且可以通过遍历文档结构来检查其内容。整个文档结构存储为根框架下的文档元素层次结构,可以通过rootFrame()函数找到。或者,如果您只想遍历文档的文本内容,可以使用begin()end()findBlock()来检索可以检查和遍历的文本块。

文档的布局由documentLayout()决定;如果你想使用自己的布局逻辑,可以创建自己的QAbstractTextDocumentLayout子类,并使用setDocumentLayout()进行设置。文档的标题和其他元信息可以通过调用metaInformation()函数获取。对于通过QTextEdit类暴露给用户的文档,文档标题也可以通过QTextEdit::documentTitle()函数获取。

toPlainText()toHtml() 这两个便捷函数允许你以纯文本和HTML格式检索文档内容。文档的文本可以使用 find() 函数进行搜索。

对文档执行的操作的撤销/重做可以通过setUndoRedoEnabled()函数进行控制。撤销/重做系统可以通过编辑器小部件通过undo()redo()槽进行控制;文档还提供了contentsChanged()undoAvailable()redoAvailable()信号,这些信号会通知连接的编辑器小部件关于撤销/重做系统的状态。以下是QTextDocument的撤销/重做操作:

  • 插入或删除字符。在同一文本块内的一系列插入或删除操作被视为单个撤销/重做操作。

  • 插入或删除文本块。在单个操作中插入或删除的序列(例如,通过选择然后删除文本)被视为单个撤销/重做操作。

  • 文本字符格式更改。

  • 文本块格式更改。

  • 文本块组格式更改。

class MetaInformation

此枚举描述了可以添加到文档中的不同类型的元信息。

常量

描述

QTextDocument.DocumentTitle

文档的标题。

QTextDocument.DocumentUrl

文档的URL。loadResource() 函数在加载相对资源时使用此URL作为基础。

QTextDocument.CssMedia

此值用于在调用setHtml()时,从指定的CSS样式表中选择相应的@media’规则(如果有)。此枚举值已在Qt 6.3中引入。

QTextDocument.FrontMatter

此值用于选择标题材料,如果在解析源文件期间提取了任何标题材料(目前仅从Markdown格式中提取)。此枚举值已在Qt 6.8中引入。

class MarkdownFeature
class FindFlag

(继承自 enum.Flag) 此枚举描述了 QTextDocument 的查找函数可用的选项。这些选项可以从以下列表中通过 OR 操作组合在一起:

常量

描述

QTextDocument.FindBackward

向后搜索而不是向前搜索。

QTextDocument.FindCaseSensitively

默认情况下,查找操作是大小写不敏感的。指定此选项会将行为更改为大小写敏感的查找操作。

QTextDocument.FindWholeWords

使查找仅匹配完整的单词。

class ResourceType

(继承自 enum.IntEnum) 此枚举描述了可以由 QTextDocumentloadResource() 函数或 QTextBrowser::setSource() 加载的资源类型。

常量

描述

QTextDocument.UnknownResource

未加载任何资源,或资源类型未知。

QTextDocument.HtmlResource

资源包含HTML。

QTextDocument.ImageResource

资源包含图像数据。当前支持的数据类型是 QMetaType::QPixmap 和 QMetaType::QImage。如果相应的变体类型是 QMetaType::QByteArray,则 Qt 尝试使用 loadFromData 加载图像。QMetaType::QIcon 目前不受支持。图标需要首先转换为支持的类型之一,例如使用 pixmap

QTextDocument.StyleSheetResource

资源包含CSS。

QTextDocument.MarkdownResource

资源包含Markdown。

QTextDocument.UserResource

用户定义资源类型的第一个可用值。

class Stacks

常量

描述

QTextDocument.UndoStack

撤销栈。

QTextDocument.RedoStack

重做栈。

QTextDocument.UndoAndRedoStacks

撤销和重做堆栈。

在版本4.7中添加。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property baseUrlᅟ: QUrl

此属性保存用于解析文档内相对资源URL的基本URL。

资源URL被解析为与基础URL目标相同的目录,这意味着路径中最后一个'/'之后的任何部分都将被忽略。

Access functions:
property blockCountᅟ: int

此属性保存文档中的文本块数量。

在包含表格或框架的文档中,此属性的值未定义。

默认情况下,如果已定义,此属性包含的值为1。

Access functions:
property defaultFontᅟ: QFont

此属性保存用于显示文档文本的默认字体。

Access functions:
property defaultStyleSheetᅟ: str

默认样式表应用于插入文档的所有新HTML格式文本,例如使用setHtml()insertHtml()

样式表需要符合CSS 2.1语法。

注意

更改默认样式表不会对文档的现有内容产生任何影响。

另请参阅

支持的HTML子集

Access functions:
property documentMarginᅟ: float

文档周围的边距。默认值为4。

Access functions:
property indentWidthᅟ: float

返回用于文本列表和文本块缩进的宽度。

QTextListFormatQTextBlockFormat 的缩进属性指定了此值的倍数。默认的缩进宽度为40。

Access functions:
property layoutEnabledᅟ: bool

此属性决定QTextDocument是否应在每次更改后重新计算布局。

如果此属性设置为true,对文档的任何更改都会触发布局,这会使一切按预期工作,但需要时间。

暂时禁用布局可以在进行多次更改时节省时间(不仅仅是文本内容,还包括默认字体、默认文本选项等),以便文档仅在最后进行一次布局。这在文本宽度或页面大小尚未确定时非常有用。

默认情况下,此属性为 true

另请参阅

setTextWidth

Access functions:
property maximumBlockCountᅟ: int

此属性指定文档中块的数量限制。

指定文档可能具有的最大块数。如果文档中的块数超过此属性指定的数量,将从文档的开头移除多余的块。

负值或零值表示文档可能包含无限数量的块。

默认值为0。

请注意,设置此属性将立即将限制应用于文档内容。

设置此属性也会禁用撤销重做历史记录。

此属性在包含表格或框架的文档中未定义。

Access functions:
property modifiedᅟ: bool

此属性表示文档是否已被用户修改。

默认情况下,此属性为 false

另请参阅

modificationChanged()

Access functions:
property pageSizeᅟ: QSizeF

此属性保存应用于布局文档的页面大小。

单位由底层的绘图设备决定。当绘制到屏幕时,大小以逻辑像素为单位测量;当绘制到打印机时,大小以点(1/72英寸)为单位测量。

默认情况下,对于新创建的空白文档,此属性包含未定义的大小。

另请参阅

modificationChanged()

Access functions:
property sizeᅟ: QSizeF

此属性保存文档的实际大小。这相当于 documentLayout() ->documentSize();。

文档的大小可以通过设置文本宽度或设置整个页面大小来更改。

请注意,宽度总是大于等于 pageSize() .width()。

默认情况下,对于新创建的空白文档,此属性包含一个依赖于配置的大小。

Access functions:
property textWidthᅟ: float

文本宽度指定了文档中文本的首选宽度。如果文本(或一般内容)比指定的宽度更宽,它将被分成多行并垂直增长。如果文本不能被分成多行以适应指定的文本宽度,它将变得更大,并且size()idealWidth()属性将反映这一点。

如果文本宽度设置为-1,则文本不会分成多行,除非通过显式换行或新段落强制换行。

默认值为-1。

设置文本宽度也会将页面高度设置为-1,导致文档在垂直方向上连续增长或缩小。如果您希望文档布局将文本分成多个页面,则必须设置pageSize属性。

Access functions:
property undoRedoEnabledᅟ: bool

此属性表示是否为此文档启用了撤销/重做功能。

默认情况下,此选项为true。如果禁用,撤销堆栈将被清除,并且不会向其中添加任何项目。

Access functions:
property useDesignMetricsᅟ: bool

此属性表示文档是否使用字体的设计度量来提高文本布局的准确性。

如果此属性设置为true,布局将使用设计指标。否则,将使用在setPaintDevice()上设置的绘制设备的指标。

使用设计指标可以使布局的宽度不再依赖于提示和像素舍入。这意味着所见即所得(WYSIWYG)的文本布局成为可能,因为宽度基于绘制设备指标的缩放更加线性。

默认情况下,此属性为 false

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

使用给定的parent构造一个空的QTextDocument

__init__(text[, parent=None])
Parameters:
  • 文本 – str

  • parentQObject

构造一个包含指定纯文本(未格式化)的QTextDocument,并带有给定的parent

addResource(type, name, resource)
Parameters:
  • type – int

  • nameQUrl

  • resource – 对象

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

将资源 resource 添加到资源缓存中,使用 typename 作为标识符。type 应该是来自 ResourceType 的一个值。

例如,您可以添加一个图像作为资源,以便从文档中引用它:

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

可以使用QTextCursor API将图像插入文档中:

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

或者,您可以使用HTML img标签插入图像:

editor.append("<img src=\"mydata://image.png\" />")
adjustSize()

将文档调整为合理的大小。

另请参阅

idealWidth() textWidth size

allFormats()
Return type:

QTextFormat的列表

返回文档中使用的所有文本格式的列表。

availableRedoSteps()
Return type:

整数

返回可用的重做步骤的数量。

另请参阅

isRedoAvailable()

availableUndoSteps()
Return type:

整数

返回可用的撤销步骤数量。

另请参阅

isUndoAvailable()

baseUrl()
Return type:

QUrl

另请参阅

setBaseUrl()

属性 baseUrlᅟ 的获取器。

baseUrlChanged(url)
Parameters:

urlQUrl

属性 baseUrlᅟ 的通知信号。

baselineOffset()
Return type:

浮点数

返回文档布局中使用的基线偏移百分比。

begin()
Return type:

QTextBlock

返回文档的第一个文本块。

另请参阅

firstBlock()

blockCount()
Return type:

整数

属性 blockCountᅟ 的获取器。

blockCountChanged(newBlockCount)
Parameters:

newBlockCount – int

当文档中的文本块总数发生变化时,会发出此信号。传入newBlockCount的值是新的总数。

characterAt(pos)
Parameters:

pos – 整数

Return type:

QChar

返回位置 pos 处的字符,如果位置超出范围则返回空字符。

另请参阅

characterCount()

characterCount()
Return type:

整数

返回此文档的字符数。

注意

由于QTextDocument始终包含至少一个QChar::ParagraphSeparator,此方法将至少返回1。

clear()

清除文档。

clearUndoRedoStacks([historyToClear=QTextDocument.Stacks.UndoAndRedoStacks])
Parameters:

historyToClearStacks

清除由stacksToClear指定的堆栈。

此方法清除撤销堆栈、重做堆栈或两者(默认)上的任何命令。如果命令被清除,则会发出适当的信号,undoAvailable()redoAvailable()

clone([parent=None])
Parameters:

父对象QObject

Return type:

QTextDocument

创建一个新的QTextDocument,它是此文本文档的副本。parent是返回的文本文档的父对象。

contentsChange(from, charsRemoved, charsAdded)
Parameters:
  • from – 整数

  • charsRemoved – int

  • charsAdded – int

每当文档内容发生变化时,就会发出此信号;例如,当插入或删除文本时,或者应用格式时。

提供了有关更改发生时字符在文档中的position、删除的字符数(charsRemoved)以及添加的字符数(charsAdded)的信息。

信号在文档的布局管理器收到更改通知之前发出。这个钩子允许你为文档实现语法高亮。

contentsChanged()

每当文档内容发生变化时,就会发出此信号;例如,当插入或删除文本时,或者应用格式时。

另请参阅

contentsChange()

createObject(f)
Parameters:

fQTextFormat

Return type:

QTextObject

基于给定的format创建并返回一个新的文档对象(一个QTextObject)。

QTextObjects 总是通过这个方法创建,因此如果您的文档中使用自定义文本对象,您必须重新实现它。

cursorPositionChanged(cursor)
Parameters:

光标QTextCursor

每当由于编辑操作导致光标位置发生变化时,都会发出此信号。发生变化的光标通过cursor传递。如果文档与QTextEdit类一起使用,并且您需要在通过箭头键移动光标时发出信号,您可以使用QTextEdit中的cursorPositionChanged()信号。

defaultCursorMoveStyle()
Return type:

CursorMoveStyle

默认的光标移动样式由从文档创建的所有QTextCursor对象使用。默认值为Qt::LogicalMoveStyle。

defaultFont()
Return type:

QFont

返回文档布局中使用的默认字体。

另请参阅

setDefaultFont()

属性 defaultFontᅟ 的获取器。

defaultStyleSheet()
Return type:

字符串

另请参阅

setDefaultStyleSheet()

属性 defaultStyleSheetᅟ 的获取器。

defaultTextOption()
Return type:

QTextOption

默认文本选项用于文档中的所有QTextLayout对象。这允许为文档设置全局属性,例如默认的换行模式。

另请参阅

setDefaultTextOption()

documentLayout()
Return type:

QAbstractTextDocumentLayout

返回此文档的文档布局。

另请参阅

setDocumentLayout()

documentLayoutChanged()

当设置新的文档布局时,会发出此信号。

另请参阅

setDocumentLayout()

documentMargin()
Return type:

浮点数

另请参阅

setDocumentMargin()

属性 documentMarginᅟ 的获取器。

drawContents(painter[, rect=QRectF()])
Parameters:

使用绘制器 p 绘制文档内容,裁剪到 rect。如果 rect 是一个空矩形(默认),则文档将无裁剪地绘制。

end()
Return type:

QTextBlock

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

此函数返回一个块,用于在迭代文档时测试文档的结尾。

for it in doc:
    print(it.text().toStdString(), "\n")

返回的块无效,表示文档中最后一个块之后的块。您可以使用lastBlock()来检索文档的最后一个有效块。

另请参阅

lastBlock()

find(expr, cursor[, options=QTextDocument.FindFlags()])
Parameters:
Return type:

QTextCursor

在文档的同一段落中查找与给定正则表达式 expr 匹配的下一个出现项。

搜索从给定的cursor位置开始,除非在搜索选项中另有指定,否则将向前遍历文档。options控制执行的搜索类型。

如果找到匹配项,则返回带有选定匹配项的光标;否则返回空光标。

如果给定的cursor有选择,搜索从选择之后开始;否则从光标的位置开始。

默认情况下,搜索不区分大小写,并且可以匹配文档中任何位置的文本。

find(expr[, from=0[, options=QTextDocument.FindFlags()]])
Parameters:
Return type:

QTextCursor

在文档的同一段落中查找与给定正则表达式 expr 匹配的下一个出现。

搜索从给定的from位置开始,除非在搜索选项中另有指定,否则将向前遍历文档。options控制执行的搜索类型。

如果找到匹配项,则返回带有选定匹配项的光标;否则返回空光标。

如果from位置为0(默认值),则搜索从文档的开头开始;否则,它从指定的位置开始。

警告

由于历史原因,设置在expr上的大小写敏感选项被忽略。相反,使用options来确定搜索是否区分大小写。

find(subString, cursor[, options=QTextDocument.FindFlags()])
Parameters:
Return type:

QTextCursor

在文档中查找字符串 subString 的下一个出现位置。搜索从给定的 cursor 位置开始,并向前遍历文档,除非在搜索选项中另有指定。options 控制执行的搜索类型。

如果找到subString,则返回带有匹配项的游标;否则返回空游标。

如果给定的cursor有选择,搜索从选择之后开始;否则从光标的位置开始。

默认情况下,搜索不区分大小写,并且可以匹配文档中任何位置的文本。

find(subString[, from=0[, options=QTextDocument.FindFlags()]])
Parameters:
  • subString – str

  • from – 整数

  • optionsFindFlag 的组合

Return type:

QTextCursor

这是一个重载函数。

在文档中查找字符串 subString 的下一个出现位置。搜索从给定的 position 开始,并向前进行,除非在搜索选项中另有指定。options 控制执行的搜索类型。

如果找到subString,则返回带有匹配项的游标;否则返回空游标。

如果position为0(默认值),则从文档的开头开始搜索;否则从指定的位置开始。

findBlock(pos)
Parameters:

pos – 整数

Return type:

QTextBlock

返回包含第pos个字符的文本块。

findBlockByLineNumber(blockNumber)
Parameters:

blockNumber – int

Return type:

QTextBlock

返回包含指定lineNumber的文本块。

另请参阅

firstLineNumber()

findBlockByNumber(blockNumber)
Parameters:

blockNumber – int

Return type:

QTextBlock

返回具有指定blockNumber的文本块。

另请参阅

blockNumber()

firstBlock()
Return type:

QTextBlock

返回文档的第一个文本块。

frameAt(pos)
Parameters:

pos – 整数

Return type:

QTextFrame

idealWidth()
Return type:

浮点数

返回文本文档的理想宽度。理想宽度是文档实际使用的宽度,不考虑可选的对其方式。它总是小于等于 size() .width()。

另请参阅

adjustSize() textWidth

indentWidth()
Return type:

浮点数

另请参阅

setIndentWidth()

属性 indentWidthᅟ 的获取器。

isEmpty()
Return type:

布尔

如果文档为空,则返回 true;否则返回 false

isLayoutEnabled()
Return type:

布尔

属性 layoutEnabledᅟ 的获取器。

isModified()
Return type:

布尔

属性 modifiedᅟ 的获取器。

isRedoAvailable()
Return type:

布尔

如果重做可用,则返回true;否则返回false

isUndoAvailable()
Return type:

布尔

如果可以撤销,则返回true;否则返回false

isUndoRedoEnabled()
Return type:

布尔

属性 undoRedoEnabledᅟ 的获取器。

lastBlock()
Return type:

QTextBlock

返回文档的最后一个(有效的)文本块。

lineCount()
Return type:

整数

返回此文档的行数(如果布局支持此功能)。否则,这与块的数量相同。

loadResource(type, name)
Parameters:
  • type – int

  • nameQUrl

Return type:

对象

从具有给定name的资源中加载指定type的数据。

此函数由富文本引擎调用,以请求未直接由QTextDocument存储但仍与其关联的数据。例如,图像通过QTextImageFormat对象的名称属性间接引用。

当被Qt调用时,typeResourceType 的值之一。

如果 QTextDocument 是具有可调用 loadResource 方法的 QObject 的子对象,例如 QTextEdit、QTextBrowser 或 QTextDocument 本身,则默认实现会尝试从父对象中检索数据。

markContentsDirty(from, length)
Parameters:
  • from – 整数

  • length – int

将给定的positionlength指定的内容标记为“脏”,通知文档需要重新布局。

maximumBlockCount()
Return type:

整数

另请参阅

setMaximumBlockCount()

属性 maximumBlockCountᅟ 的获取器。

metaInformation(info)
Parameters:

信息MetaInformation

Return type:

字符串

返回由info指定的类型的文档的元信息。

另请参阅

setMetaInformation()

modificationChanged(m)
Parameters:

m – 布尔值

每当文档内容以影响修改状态的方式发生变化时,都会发出此信号。如果changed为true,则表示文档已被修改;否则为false。

例如,在文档上调用setModified (false) 然后插入文本会导致信号被发出。如果你撤销该操作,使文档返回到其原始的未修改状态,信号将再次被发出。

object(objectIndex)
Parameters:

objectIndex – int

Return type:

QTextObject

返回与给定objectIndex关联的文本对象。

objectForFormat(f)
Parameters:

fQTextFormat

Return type:

QTextObject

返回与格式 f 关联的文本对象。

pageCount()
Return type:

整数

返回此文档中的页数。

pageSize()
Return type:

QSizeF

另请参阅

setPageSize()

获取属性 pageSizeᅟ 的Getter。

print_(printer)
Parameters:

打印机QPagedPaintDevice

redo()

这是一个重载函数。

如果redo is available,则重新执行文档上的最后一个编辑操作。

redo(cursor)
Parameters:

光标QTextCursor

如果redo is available,则重新执行文档上的最后一个编辑操作。

提供的cursor位于重做编辑操作的位置的末尾。

redoAvailable(available)
Parameters:

可用 – bool

每当重做操作变为可用(available 为 true)或不可用(available 为 false)时,会发出此信号。

resource(type, name)
Parameters:
  • type – int

  • nameQUrl

Return type:

对象

从具有给定name的资源中返回指定type的数据。

此函数由富文本引擎调用,以请求未直接由QTextDocument存储但仍与其关联的数据。例如,图像通过QTextImageFormat对象的名称属性间接引用。

资源在文档内部被缓存。如果在缓存中找不到资源,则会调用loadResource来尝试加载资源。loadResource然后应使用addResource将资源添加到缓存中。

如果 loadResource 没有加载资源,那么将调用 resourceProvider,最后是 defaultResourceProvider(如果已设置)。请注意,提供者的结果不会自动添加到缓存中。

另请参阅

ResourceType resourceProvider()

revision()
Return type:

整数

返回文档的修订版本(如果启用了撤销功能)。

当未修改的文档被编辑时,修订版本号保证会增加。

另请参阅

revision() isModified()

rootFrame()
Return type:

QTextFrame

返回文档的根框架。

setBaseUrl(url)
Parameters:

urlQUrl

另请参阅

baseUrl()

属性 baseUrlᅟ 的设置器。

setBaselineOffset(baseline)
Parameters:

baseline – 浮点数

将基线设置为字体高度的百分比,用于文档布局中的baseline。默认值为0。正值将文本向上移动相应的百分比;负值将其向下移动。

setDefaultCursorMoveStyle(style)
Parameters:

styleCursorMoveStyle

将默认的光标移动样式设置为给定的style

setDefaultFont(font)
Parameters:

字体QFont

设置文档布局中使用的默认font

另请参阅

defaultFont()

属性 defaultFontᅟ 的设置器。

setDefaultStyleSheet(sheet)
Parameters:

sheet – 字符串

另请参阅

defaultStyleSheet()

属性 defaultStyleSheetᅟ 的设置器。

setDefaultTextOption(option)
Parameters:

选项QTextOption

将默认文本选项设置为 option

另请参阅

defaultTextOption()

setDocumentLayout(layout)
Parameters:

布局QAbstractTextDocumentLayout

设置文档以使用给定的layout。之前的布局将被删除。

setDocumentMargin(margin)
Parameters:

margin – 浮点数

另请参阅

documentMargin()

属性 documentMarginᅟ 的设置器。

setHtml(html)
Parameters:

html – 字符串

用给定的HTML格式文本替换文档的全部内容,该文本位于html字符串中。调用此函数时,撤销/重做历史记录将被重置。

HTML格式尽可能得到尊重;例如,“bold text”将生成文本,其中第一个单词的字体粗细使其具有粗体外观:“bold text”。

要选择除默认“screen”规则之外的CSS媒体规则,请使用setMetaInformation(),并将‘CssMedia’作为“info”参数。

注意

调用者有责任确保在创建包含HTML的QString并将其传递给setHtml()时,文本被正确解码。

setIndentWidth(width)
Parameters:

width – 浮点数

设置用于文本列表和文本块缩进的width

QTextListFormatQTextBlockFormat 的缩进属性指定了此值的倍数。默认的缩进宽度为 40。

另请参阅

indentWidth()

属性 indentWidthᅟ 的设置器。

setLayoutEnabled(b)
Parameters:

b – 布尔值

另请参阅

isLayoutEnabled()

属性 layoutEnabledᅟ 的设置器。

setMarkdown(markdown[, features=QTextDocument.MarkdownFeature.MarkdownDialectGitHub])
Parameters:

用给定的Markdown格式文本替换文档的整个内容,该文本位于markdown字符串中,并支持给定的features。默认情况下,包含所有支持的GitHub风格的Markdown功能;传递MarkdownDialectCommonMark以进行更基本的解析。

Markdown 格式尽可能得到尊重;例如,“*粗体* 文本”将生成文本,其中第一个单词的字体粗细使其具有强调的外观。

包含在markdown字符串中的HTML解析方式与setHtml中的处理方式相同;但是,不支持HTML块内的Markdown格式。

解析器的一些功能可以通过 features 参数启用或禁用:

  • Markdown无HTML

  • Markdown 文本中的任何 HTML 标签都将被丢弃

默认是 MarkdownDialectGitHub

调用此函数时,撤销/重做历史记录将被重置。

setMaximumBlockCount(maximum)
Parameters:

最大值 – int

另请参阅

maximumBlockCount()

属性 maximumBlockCountᅟ 的设置器。

setMetaInformation(info, string)
Parameters:

将文档的元信息设置为由info指定的类型,并将其值设置为给定的string

另请参阅

metaInformation()

setModified([m=true])
Parameters:

m – 布尔值

另请参阅

isModified()

属性 modifiedᅟ 的设置器。

setPageSize(size)
Parameters:

大小QSizeF

另请参阅

pageSize()

属性 pageSizeᅟ 的设置器。

setPlainText(text)
Parameters:

文本 – str

用给定的纯text替换文档的全部内容。调用此函数时,撤销/重做历史将被重置。

另请参阅

setHtml()

setSubScriptBaseline(baseline)
Parameters:

baseline – 浮点数

设置默认下标基线为字体高度的百分比,用于文档布局中的baseline。默认值为16.67%(高度的1/6)。

setSuperScriptBaseline(baseline)
Parameters:

baseline – 浮点数

将默认上标基线设置为字体高度的百分比,用于文档布局中的baseline。默认值为50%(高度的1/2)。

setTextWidth(width)
Parameters:

width – 浮点数

另请参阅

textWidth()

属性 textWidthᅟ 的设置器。

setUndoRedoEnabled(enable)
Parameters:

enable – 布尔值

另请参阅

isUndoRedoEnabled()

属性 undoRedoEnabledᅟ 的设置器。

setUseDesignMetrics(b)
Parameters:

b – 布尔值

另请参阅

useDesignMetrics()

属性 useDesignMetricsᅟ 的设置器。

size()
Return type:

QSizeF

属性 sizeᅟ 的获取器。

subScriptBaseline()
Return type:

浮点数

返回上标基线作为文档布局中使用的字体高度的百分比。

superScriptBaseline()
Return type:

浮点数

返回上标基线作为文档布局中使用的字体高度的百分比。

textWidth()
Return type:

浮点数

另请参阅

setTextWidth()

属性 textWidthᅟ 的获取器。

toHtml()
Return type:

字符串

返回一个包含文档HTML表示的字符串。

文档的内容指定其编码为UTF-8。如果您稍后将返回的html字符串转换为字节数组以通过网络传输或保存到磁盘时,您应该使用QString::toUtf8()将字符串转换为QByteArray。

另请参阅

支持的HTML子集

toMarkdown([features=QTextDocument.MarkdownFeature.MarkdownDialectGitHub])
Parameters:

特性MarkdownFeature 的组合

Return type:

字符串

返回一个包含文档Markdown表示的字符串,该文档具有给定的features,如果由于任何原因写入失败,则返回空字符串。

另请参阅

setMarkdown

toPlainText()
Return type:

字符串

返回文档中包含的纯文本。如果您需要格式化信息,请使用QTextCursor代替。

此函数返回与toRawText()相同的内容,但会将一些Unicode字符替换为ASCII替代字符。特别是,不间断空格(U+00A0)被替换为常规空格(U+0020),段落(U+2029)和行(U+2028)分隔符被替换为换行符(U+000A)。如果您需要文档的精确内容,请改用toRawText()

注意

嵌入式对象,如图像,由Unicode值U+FFFC(对象替换字符)表示。

另请参阅

toHtml()

toRawText()
Return type:

字符串

返回文档中包含的原始文本,不包含任何格式信息。如果您需要格式信息,请使用QTextCursor代替。

另请参阅

toPlainText()

undo()

这是一个重载函数。

undo(cursor)
Parameters:

光标QTextCursor

如果撤销可用,则撤销文档上的最后一个编辑操作。提供的cursor将定位在编辑操作被撤销的位置的末尾。

详情请参阅Qt撤销框架文档。

undoAvailable(available)
Parameters:

可用 – bool

每当撤销操作变为可用(available 为 true)或不可用(available 为 false)时,会发出此信号。

详情请参阅Qt撤销框架文档。

undoCommandAdded()

每当向QTextDocument添加新的撤销级别时,都会发出此信号。

useDesignMetrics()
Return type:

布尔

另请参阅

setUseDesignMetrics()

属性 useDesignMetricsᅟ 的获取器。