class QTextCharFormat#

QTextCharFormat 类为 QTextDocument 中的字符提供格式化信息。更多...

Inheritance diagram of PySide6.QtGui.QTextCharFormat

继承自: QTextTableCellFormat, QTextImageFormat

概述#

方法#

注意

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

详细说明#

文档中的文本字符格式指定了文本的视觉属性以及其在超文本文档中的角色信息。

字体可以使用setFont()函数设置,该函数包含在PySide6.QtGui.QTextCharFormat.setFont中,并且可以调整其外观的各个方面以产生所需的效果。函数setFontFamilies()setFontPointSize()定义字体家族(例如Times)和打印大小;《setFontWeight()setFontItalic()提供对字体样式的控制。《setFontUnderline()》、《setFontOverline()》、《setFontStrikeOut()》和《setFontFixedPitch()提供文本的附加效果。

颜色使用setForeground()设置。如果文本打算用作锚点(用于超链接),可以启用《setAnchor()。《setAnchorHref()`和《setAnchorNames()`函数用于指定超链接的目的地以及锚点的名称。

另见

QTextFormat QTextBlockFormat QTextTableFormat QTextListFormat

class VerticalAlignment#

此枚举描述了相邻字符可以垂直对齐的方式。

常量

描述

QTextCharFormat.AlignNormal

相邻字符以当前使用的写作系统中文本的标准方式定位。

QTextCharFormat.AlignSuperScript

字符位于正常文本基线之上。

QTextCharFormat.AlignSubScript

字符位于正常文本基线之下。

QTextCharFormat.AlignMiddle

对象的中心与基线垂直对齐。目前,这仅适用于行内对象。

QTextCharFormat.AlignBottom

对象底部与基线对齐。

QTextCharFormat.AlignTop

对象的顶部边缘与基线垂直对齐。

QTextCharFormat.AlignBaseline

字符的基线对齐。

class UnderlineStyle#

此枚举描述了绘制下划线文本的不同方式。

常量

描述

QTextCharFormat.NoUnderline

文本在绘制时不添加任何下划线装饰。

QTextCharFormatềnSingleUnderline

使用Qt::SolidLine绘制线条。

QTextCharFormat.DashUnderline

使用Qt::DashLine绘制虚线。

QTextCharFormat.DotLine

使用Qt::DotLine绘制点划线。

QTextCharFormat.DashDotLine

使用Qt::DashDotLine绘制虚点线。

QTextCharFormat.DashDotDotLine

使用Qt::DashDotDotLine绘制点虚线。

QTextCharFormat.WaveUnderline

使用波浪形线条下划文本。

QTextCharFormat.SpellCheckUnderline

下划线绘制取决于QPlatformTheme的SpellCheckUnderlineStyle主题提示。默认情况下,这映射为WaveUnderline,在macOS上映射为DotLine。

另见

PenStyle

class FontPropertiesInheritanceBehavior#

此枚举指定了setFont()函数在未设置字体属性时应如何表现。

常量

描述

QTextCharFormat.FontPropertiesSpecifiedOnly

如果属性未被显式设置,则不更改文本格式的属性值。

QTextCharFormat.FontPropertiesAll

如果属性未被显式设置,则使用默认值覆盖文本格式的属性。

另见

setFont()

__init__(fmt)#
参数:

fmtQTextFormat

__init__()

构建一个新字符格式对象。

anchorHref()#
返回类型:

str

返回文本格式的超文本链接,如果没有设置,则为空字符串。

anchorNames()#
返回类型:

字符串列表

返回与此文本格式相关联的锚点名称,如果没有设置,则为空字符串列表。如果设置了锚点名称,则具有此格式的文本可以是超文本链接的目标。

baselineOffset()#
返回类型:

float

返回基线偏移量(%)。

font()#
返回类型:

QFont

返回该字符格式的字体。

另见

setFont()

fontCapitalization()#
返回类型:

大写字母

返回字体当前的大写字母类型。

fontFamilies()#
返回类型:

对象

返回文本格式的字体族。

注意

由于历史原因,此函数返回 QVariant。它将在 Qt 7 中修正为返回 QStringList。这个变体包含一个 QStringList 对象,可以通过在其上调用 toStringList() 来提取。

fontFamily()#
返回类型:

str

注意

此函数已过时。

请使用 fontFamilies() 代替。

返回文本格式的字体族。

fontFixedPitch()#
返回类型:

布尔型

如果文本格式的字体是等宽字体,则返回 true;否则返回 false

fontHintingPreference()#
返回类型:

光栅提示首选项

返回为此文本格式设置的光栅提示首选项。

fontItalic()#
返回类型:

布尔型

如果文本格式的字体是倾斜的,则返回 true;否则返回 false

fontKerning()#
返回类型:

布尔型

如果启用了字体衬线,则返回 true

fontLetterSpacing()#
返回类型:

float

返回当前字母间距。

fontLetterSpacingType()#
返回类型:

间距类型

返回此格式的字母间距类型。

fontOverline()#
返回类型:

布尔型

如果文本格式的字体有上划线,则返回 true;否则返回 false

fontPointSize()#
返回类型:

float

返回用于在此格式中显示文本的字体大小。

fontStretch()#
返回类型:

int

返回当前字体的拉伸比例。

fontStrikeOut()#
返回类型:

布尔型

如果文本格式的字体被删除线(水平线穿过),则返回true;否则返回false

fontStyleHint()#
返回类型:

样式提示

返回字体样式提示。

fontStyleName()#
返回类型:

对象

返回文本格式的字体样式名称。

注意

由于历史原因,此函数返回 QVariant。它将在 Qt 7 中修正为返回 QStringList。这个变体包含一个 QStringList 对象,可以通过在其上调用 toStringList() 来提取。

fontStyleStrategy()#
返回类型:

样式策略

返回当前字体样式策略。

fontUnderline()#
返回类型:

布尔型

如果文本格式的字体带有下划线,则返回true;否则返回false

fontWeight()#
返回类型:

int

返回文本格式的字体粗细。

fontWordSpacing()#
返回类型:

float

返回当前的单词间距值。

isAnchor()#
返回类型:

布尔型

如果文本格式为锚点,则返回 true;否则返回 false

setAnchor(anchor)#
参数:

anchor – bool

如果 anchor 为 true,则具有此格式的文本表示一个锚点,并以适当的方式格式化;否则,文本将正常格式化。(锚点是超链接,通常以下划线的形式显示,并不同于普通文本的颜色。)

文本的渲染方式与格式是否定义了有效的锚点无关。使用 setAnchorHref() ,以及可选的 setAnchorNames() 来创建超文本链接。

另见

isAnchor()

setAnchorHref(value)#
参数:

value – str

将文本格式的超文本链接设置为指定的 value。这通常是类似于 “http://example.com/index.html” 的 URL。

锚点将以 value 作为其显示文本显示;如果您想显示不同的文本,请调用 setAnchorNames()

要格式化文本为超文本链接,请使用 setAnchor()

另见

anchorHref()

setAnchorNames(names)#
参数:

names – 字符串列表

设置文本格式的锚点 names。要使锚点作为超链接工作,目标必须通过 setAnchorHref() 设置,并且必须通过 setAnchor() 启用锚点。

另见

anchorNames()

setBaselineOffset(baseline)#
参数:

baseline – 浮点数

将文本的基线(以高度的百分比)设置为 baseline。正值将文本向上移动相应的百分比;负值将文本向下移动。默认值是 0。

setFont(font[, behavior=QTextCharFormat.FontPropertiesInheritanceBehavior.FontPropertiesAll])#
参数:

设置文本格式的 font

如果 behavior 的值为 FontPropertiesAll ,则未显式设置的字体属性被视为使用默认值;如果 behavior 的值为 FontPropertiesSpecifiedOnly ,则未显式设置的字体属性将被忽略,相应的属性值保持不变。

另见

font()

setFontCapitalization(capitalization)#
参数:

capitalizationCapitalization

将此字体中出现的文本的字母大小写设置为 capitalization

字体的大小写将使文本以选定的字母大小写模式显示。

setFontFamilies(families)#
参数:

families – 字符串列表

设置文本格式的字体 families

setFontFamily(family)#
参数:

family – 字符串

注意

此函数已过时。

请使用 setFontFamilies() 代替。

设置文本格式的字体 family

另见

fontFamily()setFont()

setFontFixedPitch(fixedPitch)#
参数:

fixedPitch – 布尔值

如果 fixedPitch 为 true,则将文本格式的字体设置为固定间距字;否则使用非固定间距字。

setFontHintingPreference(hintingPreference)#
参数:

hintingPreferenceHintingPreference

设置文本格式的字体提示偏好为 hintingPreference

setFontItalic(italic)#
参数:

italic – bool

如果 italic 为 true,则将文本格式的字体设置为斜体;否则字体将非斜体。

setFontKerning(enable)#
参数:

enable – bool

如果 enable 为 true,则为此字体启用字距调整;否则禁用它。

当启用字距调整时,即使对于拉丁文字,也无需再将字形度量相加。换句话说,“a”的宽度加上“b”的宽度不一定等于“ab”的宽度。

setFontLetterSpacing(spacing)#
参数:

spacing – float

将此格式的字母间距设置为给定的 spacing。该值的含义取决于字体字母间距类型。

对于百分比间距,值为 100 表示默认间距;值为 200 则将字母占据的空间加倍。

setFontLetterSpacingType(letterSpacingType)#
参数:

letterSpacingTypeSpacingType

设置该格式的字母间隔类型为 letterSpacingType

setFontOverline(overline)#
参数:

overline – bool

如果 overline 为真,则设置文本格式的字体为带下划线的;否则字体显示为不带下划线。

setFontPointSize(size)#
参数:

size – float

设置文本格式的字体 size

setFontStretch(factor)#
参数:

factor – int

将字体的拉伸因子设置为 factor

拉伸因子以百分比改变字体内所有字符的宽度。例如,将 factor 设置为 150,使字体所有字符变为1.5倍(即150%)更宽。默认拉伸因子为100。最小拉伸因子为1,最大拉伸因子为4000。

拉伸因子仅适用于轮廓字体。对于位图字体,忽略拉伸因子。

另见

fontStretch()

setFontStrikeOut(strikeOut)#
参数:

strikeOut – bool

如果 strikeOut 为真,则在文本格式的字体上启用删除线(带水平线穿过它);否则显示不带删除线。

setFontStyleHint(hint[, strategy=QFont.PreferDefault])#
参数:

设置字体样式 hintstrategy

Qt 在 X11 上不支持样式提示,因为窗体系统不提供此信息。

setFontStyleName(styleName)#
参数:

styleName – str

设置文本格式的字体 styleName

setFontStyleStrategy(strategy)#
参数:

strategyStyleStrategy

设置字体样式 strategy

setFontUnderline(underline)#
参数:

underline – bool

如果 underline 为真,将文本格式字体设置为下划线;否则以非下划线形式显示。

setFontWeight(weight)#
参数:

weight – int

将文本格式的字体重量设置为 weight

setFontWordSpacing(spacing)#
参数:

spacing – float

将本格式的单词间距设置为指定的 spacing(以像素为单位)。

setSubScriptBaseline(baseline)#
参数:

baseline – 浮点数

将下标的基线设置为字体高度的 baseline 百分比。默认值为 16.67%(高度 1/6)。

setSuperScriptBaseline(baseline)#
参数:

baseline – 浮点数

将上标的基线设置为字体高度的 baseline 百分比。默认值为 50%(高度 1/2)。

setTableCellColumnSpan(tableCellColumnSpan)#
参数:

tableCellColumnSpan – int

setTableCellRowSpan(tableCellRowSpan)#
参数:

tableCellRowSpan – int

setTextOutline(pen)#
参数:

penQPen

设置用于绘制字符轮廓的笔为给定的 pen

另见

textOutline()

setToolTip(tip)#
参数:

tip – str

设置文本片段的工具提示为给定的 text

另见

toolTip()

setUnderlineColor(color)#
参数:

colorQColor

设置用于绘制字符的下划线、上划线和删除线的颜色为指定的 color

setUnderlineStyle(style)#
参数:

styleUnderlineStyle

设置文本下划线的样式为 style

setVerticalAlignment(alignment)#
参数:

alignmentVerticalAlignment

将具有此格式的字符的垂直对齐方式设置为指定的 alignment

subScriptBaseline()#
返回类型:

float

返回下标基线作为字高百分比。

superScriptBaseline()#
返回类型:

float

返回上标基线的字体高度的百分比。

tableCellColumnSpan()#
返回类型:

int

tableCellRowSpan()#
返回类型:

int

textOutline()#
返回类型:

QPen

返回用于绘制此格式中字符轮廓的画笔。

toolTip()#
返回类型:

str

返回显示在文本片段上的工具提示。

另见

setToolTip()

underlineColor()#
返回类型:

QColor

返回用于绘制有此格式的字符下划线、上划线和删除线的颜色。

underlineStyle()#
返回类型:

下划线样式

返回文本下划线的样式。

verticalAlignment()#
返回类型:

垂直对齐

返回用于此格式的字符的垂直对齐方式。