class QTextFormat#

QTextFormatQTextDocument 提供格式信息。更多…

继承自: QTextListFormatQTextFrameFormatQTextTableFormatQTextCharFormatQTextTableCellFormatQTextImageFormatQTextBlockFormat

概要#

方法#

备注

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

详细说明#

QTextFormat是一个通用类,用于描述QTextDocument部分的形式。派生类QTextCharFormatQTextBlockFormatQTextListFormatQTextTableFormat通常更实用,用于描述文档特定部分的应用格式。

格式有一个FormatType,它指定它可以格式化的文本项的类型;例如,一段文本、一个列表、一个表格等。格式还有各种属性(某些特定于特定格式类型),如通过Property枚举描述。每个属性都有对应的属性。

格式类型由type()提供,格式可以通过isCharFormat()isBlockFormat()isListFormat()isTableFormat()isFrameFormat()isImageFormat()进行测试。如果确定了类型,它可以通过toCharFormat()toBlockFormat()toListFormat()toTableFormat()toFrameFormat()toImageFormat()检索。

格式属性可以通过setProperty() 函数设置,并且可以通过boolProperty()intProperty()doubleProperty() 以及 stringProperty() 来获取。格式中使用的所有属性ID可以通过 allPropertyIds() 获取。可以使用 merge() 将一个格式合并到另一个格式中。

可以使用 setObjectIndex() 设置格式对象的索引,并使用 objectIndex() 来获取。这些方法可以用来将格式与 QTextObject 关联起来。这用于在文档中代表列表、框架和表格。

另请参阅

富文本处理

class FormatType#

(继承自 enum.IntEnum) 此枚举描述了 QTextFormat 对象正在格式化的文本项。

常量

描述

QTextFormat.InvalidFormat

由默认构造函数创建的无效格式

QTextFormat.BlockFormat

该对象格式化文本块

QTextFormat.CharFormat

该对象格式化单个字符

QTextFormat.ListFormat

该对象格式化列表

QTextFormat.FrameFormat

该对象格式化框架

QTextFormat.UserFormat

class Property#

(继承自 enum.IntEnum) 此枚举描述了格式可以具有的不同属性。

常量

描述

QTextFormat.ObjectIndex

格式对象的索引。请参阅objectIndex()

段落和字符属性

常量

描述

QTextFormat.CssFloat

如何定位框架相对于周围文本的位置

QTextFormat.LayoutDirection

文档中文本的布局方向(Qt::LayoutDirection)。

QTextFormat.OutlinePen

QTextFormat.ForegroundBrush

QTextFormat.BackgroundBrush

QTextFormat.BackgroundImageUrl

段落属性

常量

描述

QTextFormat.BlockAlignment

QTextFormat.BlockTopMargin

QTextFormat.BlockBottomMargin

QTextFormat.BlockLeftMargin

QTextFormat.BlockRightMargin

QTextFormat.TextIndent

QTextFormat.TabPositions

指定制表位位置。制表位位置是存储在QList中的结构(内部,存储在QList中)。

QTextFormat.BlockIndent

QTextFormat.LineHeight

QTextFormat.LineHeightType

QTextFormat.BlockNonBreakableLines

QTextFormat.BlockTrailingHorizontalRulerWidth

水平标尺元素宽度。

QTextFormat.HeadingLevel

标题级别,例如1对应于HTML H1标签;否则为0。此枚举值已在Qt 5.12中添加。

QTextFormat.BlockCodeFence

在Markdown代码块周围的“围栏”中使用的字符。如果代码块是缩进而不是围栏,则不应有此属性。此枚举值已在Qt 5.14中添加。

QTextFormat.BlockQuoteLevel

此块嵌套引用的深度:1表示该块是顶级引用块。不是引用块的块不应有此属性。此枚举值已在Qt 5.14中添加。

QTextFormat.BlockCodeLanguage

预格式化或代码块中的编程语言。不包含代码的块不应有此属性。此枚举值已在Qt 5.14中添加。

QTextFormat.BlockMarker

要在块旁边显示的装饰类型。此枚举值已添加到Qt 5.14。

字符属性

常量

描述

QTextFormat.FontFamily

已弃用。}请使用QTextFormat::FontFamilies代替。

QTextFormat.FontFamilies

QTextFormat.FontStyleName

QTextFormat.FontPointSize

QTextFormat.FontPixelSize

QTextFormat.FontSizeAdjustment

指定给定FontPointSize或FontPixelSize设置的fontsize所发生的更改。

QTextFormat.FontFixedPitch

QTextFormat.FontWeight

QTextFormat.FontItalic

QTextFormat.FontUnderline

已弃用。请使用QTextFormat::TextUnderlineStyle代替。

QTextFormat.FontOverline

QTextFormat.FontStrikeOut

QTextFormat.FontCapitalization

指定要应用于文本的格式化类型。

QTextFormat.FontLetterSpacingType

指定FontLetterSpacing属性的含义。默认值为PercentageSpacing

QTextFormat.FontLetterSpacing

更改字体中单个字母之间的默认间距。值指定为百分比或绝对值,具体取决于FontLetterSpacingType。默认值为100%。

QTextFormat.FontWordSpacing

更改单个单词之间的默认间距。正值增加相应像素的间距;负值减小间距。

QTextFormat.FontStretch

对应于Stretch属性

QTextFormat.FontStyleHint

对应于StyleHint属性

QTextFormat.FontStyleStrategy

对应于StyleStrategy属性

QTextFormat.FontKerning

指定字体是否启用了字距调整。

QTextFormat.FontHintingPreference

根据枚举值控制提示的使用,枚举值见HintingPreference

QTextFormat.TextUnderlineColor

指定绘制下划线、上划线和删除线的颜色。

QTextFormat.TextVerticalAlignment

QTextFormat.TextOutline

QTextFormat.TextUnderlineStyle

QTextFormat.TextToolTip

指定要显示在文本片段上的(可选)工具提示。

QTextFormat.TextSuperScriptBaseline

指定上标文本的基线(以高度的百分比表示)。

QTextFormat.TextSubScriptBaseline

指定下标文本的基线(以高度的百分比表示)。

QTextFormat.TextBaselineOffset

指定文本的基线(以高度的百分比表示)。正值将文本向上移动相应的百分比;负值将文本向下移动。

QTextFormat.IsAnchor

QTextFormat AnchorHref

QTextFormat AnchorName

QTextFormat.ObjectType

列表属性

常量

描述

QTextFormat.ListStyle

指定列表项目的样式,由枚举值Style定义。

QTextFormat.ListIndent

指定列表的缩进量。

QTextFormat.ListNumberPrefix

定义数字列表中项目编号前的文本。

QTextFormat.ListNumberSuffix

定义数字列表中项目编号后的文本。

QTextFormat.ListStart

定义列表的第一个值。

表格和框架属性

常量

描述

QTextFormat.FrameBorder

QTextFormat.FrameBorderBrush

QTextFormat.FrameBorderStyle

请参阅BorderStyle枚举。

QTextFormat.FrameBottomMargin

QTextFormat.FrameHeight

QTextFormat.FrameLeftMargin

QTextFormat.FrameMargin

QTextFormat.FramePadding

QTextFormat.FrameRightMargin

QTextFormat.FrameTopMargin

QTextFormat.FrameWidth

QTextFormat.TableCellSpacing

QTextFormat.TableCellPadding

QTextFormat.TableColumns

QTextFormat.TableColumnWidthConstraints

QTextFormat.TableHeaderRowCount

QTextFormat.TableBorderCollapse

指定borderCollapse属性。

表格单元属性

常量

描述

QTextFormat.TableCellRowSpan

QTextFormat.TableCellColumnSpan

QTextFormat.TableCellLeftPadding

QTextFormat.TableCellRightPadding

QTextFormat.TableCellTopPadding

QTextFormat.TableCellBottomPadding

专为启用borderCollapse的表格单元属性而设计

常量

描述

QTextFormat.TableCellTopBorder

QTextFormat.TableCellBottomBorder

QTextFormat.TableCellLeftBorder

QTextFormat.TableCellRightBorder

QTextFormat.TableCellTopBorderStyle

QTextFormat.TableCellBottomBorderStyle

QTextFormat.TableCellLeftBorderStyle

QTextFormat.TableCellRightBorderStyle

QTextFormat.TableCellTopBorderBrush

QTextFormat.TableCellBottomBorderBrush

QTextFormat.TableCellLeftBorderBrush

QTextFormat.TableCellRightBorderBrush

图像属性

常量

描述

QTextFormat.ImageName

图像的文件名或来源。

QTextFormat.ImageTitle

HTML图像标签的title属性,或在Markdown图像链接中URL后的引号字符串。这个枚举值自Qt 5.14版本开始加入。

QTextFormat.ImageAltText

HTML图像标签的alt属性,或在Markdown图像链接中的图像描述。这个枚举值自Qt 5.14版本开始加入。

QTextFormat.ImageWidth

QTextFormat.ImageHeight

QTextFormat.ImageQuality

选择属性

常量

描述

QTextFormat.FullWidthSelection

当设置为选择的字符格式时,整段文本的宽度将被选中显示。

分页属性

常量

描述

QTextFormat.PageBreakPolicy

指定页面如何分列。请参阅PageBreakFlag 枚举。

QTextFormat.UserProperty

另请参阅

property() setProperty()

class ObjectTypes#

(继承enum.IntEnum) 该枚举描述了该格式与哪种 QTextObject 关联。

常量

描述

QTextFormat.NoObject

QTextFormat.ImageObject

QTextFormat.TableObject

QTextFormat.TableCellObject

QTextFormat.UserObject

第一个可应用于特定应用程序目的的对象。

class PageBreakFlag#

(继承enum.Flag) 该枚举描述了打印时如何执行分页。它映射到相应的 css 属性。

常量

描述

QTextFormat.PageBreak_Auto

自动根据当前页面的可用空间确定分页

QTextFormat.PageBreak_AlwaysBefore

总是将段落/表格之前的页面进行分列

QTextFormat.PageBreak_AlwaysAfter

在段落/表格之后总是开始新页面

__init__(rhs)#
参数:

rhsQTextFormat

创建一个新的文本格式,其属性与另一个文本格式相同。

__init__()#

创建一个具有 InvalidFormat 的新文本格式。

另请参阅

格式类型

__init__(type)#
参数:

type – int

创建一个具有给定 type 的新文本格式。

另请参阅

格式类型

背景()#
返回类型 :

QBrush

返回用于绘制文档背景的画刷。

boolProperty(propertyId)#
参数:

propertyId - int

返回类型 :

bool

返回由 propertyId 指定的属性值。如果该属性不是 QTextFormat::Bool 类型,则返回 false。

brushProperty(propertyId)#
参数:

propertyId - int

返回类型 :

QBrush

返回由 propertyId 给出的属性值;如果该属性不是 QMetaType::QBrush 类型,则返回 Qt::NoBrush。

clearBackground()#

清除用于绘制文档背景的画笔。将使用默认画笔。

clearForeground()#

清除用于绘制文档前景的画笔。将使用默认画笔。

clearProperty(propertyId)#
参数:

propertyId - int

清除由propertyId指定的属性的值。

另请参阅

属性

colorProperty(propertyId)#
参数:

propertyId - int

返回类型 :

QColor

返回由propertyId指定的属性的值;如果该属性不是QMetaType::QColor类型,则返回一个无效颜色。

doubleProperty(propertyId)#
参数:

propertyId - int

返回类型 :

float

返回由propertyId指定的属性的值。如果该属性不是QMetaType::Double或QMetaType::Float类型,则返回0。

foreground()#
返回类型 :

QBrush

返回用于渲染前景细节(如文本、框架轮廓和表格边框)的画笔。

hasProperty(propertyId)#
参数:

propertyId - int

返回类型 :

bool

如果文本格式具有给定 propertyId 的属性,则返回 true;否则返回 false

另请参阅

properties() Property

intProperty(propertyId)#
参数:

propertyId - int

返回类型 :

int

返回由 propertyId 指定的属性值。如果该属性不是 QTextFormat::Integer 类型,则返回 0。

isBlockFormat()#
返回类型 :

bool

如果此文本格式是 BlockFormat,则返回 true;否则返回 false

isCharFormat()#
返回类型 :

bool

如果此文本格式是 CharFormat,则返回 true;否则返回 false

isEmpty()#
返回类型 :

bool

如果格式不存储任何属性,则返回 true;否则返回 false。

isFrameFormat()#
返回类型 :

bool

如果此文本格式是 FrameFormat,则返回 true;否则返回 false

isImageFormat()#
返回类型 :

bool

如果此文本格式是图像格式,则返回 true;否则返回 false

isListFormat()#
返回类型 :

bool

如果此文本格式是 ListFormat,则返回 true;否则返回 false

isTableCellFormat()#
返回类型 :

bool

如果此文本格式是 TableCellFormat,则返回 true;否则返回 false

isTableFormat()#
返回类型 :

bool

如果此文本格式是 TableFormat,则返回 true;否则返回 false

isValid()#
返回类型 :

bool

如果格式有效(即不是 InvalidFormat ),则返回 true;否则返回 false

layoutDirection()#
返回类型 :

布局方向

返回文档的布局方向。

另请参阅

setLayoutDirection()

lengthProperty(propertyId)#
参数:

propertyId - int

返回类型 :

QTextLength

返回由 propertyId 指定的属性的值。

lengthVectorProperty(propertyId)#
参数:

propertyId - int

返回类型 :

QTextLength 的列表

返回指定 propertyId 的属性值。如果属性类型不是 QTextFormat::LengthVector 类型,则返回空列表。

merge(other)#
参数:

otherQTextFormat

other 格式与此格式合并;在存在冲突的情况下,other 格式具有优先权。

objectIndex()#
返回类型 :

int

返回格式对象的索引,如果格式对象无效则返回 -1。

另请参阅

setObjectIndex()

objectType()#
返回类型 :

int

返回文本格式的对象类型。

__ne__(rhs)#
参数:

rhsQTextFormat

返回类型 :

bool

如果此文本格式与另一个文本格式不同,则返回 true

__eq__(rhs)#
参数:

rhsQTextFormat

返回类型 :

bool

如果此文本格式与另一个文本格式相同,则返回 true

penProperty(propertyId)#
参数:

propertyId - int

返回类型 :

QPen

返回由 propertyId 给定的属性的值;如果该属性不是 QMetaType::QPen 类型,则返回 Qt::NoPen。

properties()#
返回类型 :

具有 .int 类型的键和 QVariant 类型值的字典。

返回包含此文本格式所有属性的映射。

property(propertyId)#
参数:

propertyId - int

返回类型 :

对象

根据指定的 propertyId 返回属性。

另请参阅

setProperty() Property

propertyCount()#
返回类型 :

int

返回保存在格式中的属性数量。

setBackground(brush)#
参数:

brushQBrush

将用于绘制文档背景的刷子设置到指定的 brush

setForeground(brush)#
参数:

brushQBrush

设置前景画笔为指定的 brush。前景画笔主要用于渲染文本。

setLayoutDirection(direction)#
参数:

directionLayoutDirection

将文档的布局方向设置为指定的 direction

另请参阅

layoutDirection()

setObjectIndex(object)#
参数:

object – int

设置格式对象的 index

另请参阅

objectIndex()

setObjectType(type)#
参数:

type – int

将文本格式对象的类型设置为 type

另请参阅

ObjectTypes objectType()

setProperty(propertyId, lengths)#
参数:
  • propertyId - int

  • lengths – .list of QTextLength

propertyId 指定的属性的值设置为 value

setProperty(propertyId, value)
参数:
  • propertyId - int

  • value – object

将由 propertyId 指定的属性设置为给定的 value

另请参阅

property() Property

stringProperty(propertyId)#
参数:

propertyId - int

返回类型 :

str

返回由 propertyId 指定的属性值;如果属性不是 QMetaType::QString 类型,则返回一个空字符串。

swap(other)#
参数:

otherQTextFormat

other 交换此文本格式。此函数非常快速,永远不会失败。

toBlockFormat()#
返回类型 :

QTextBlockFormat

将此格式作为块格式返回。

toCharFormat()#
返回类型 :

QTextCharFormat

将此格式作为字符格式返回。

toFrameFormat()#
返回类型 :

QTextFrameFormat

将此格式作为帧格式返回。

toImageFormat()#
返回类型 :

QTextImageFormat

将此格式作为图像格式返回。

toListFormat()#
返回类型 :

QTextListFormat

将此格式作为列表格式返回。

toTableCellFormat()#
返回类型 :

QTextTableCellFormat

将此格式作为表格单元格格式返回。

toTableFormat()#
返回类型 :

QTextTableFormat

将此格式作为表格格式返回。

type()#
返回类型 :

int

返回此格式类型。

另请参阅

格式类型