QTextCharFormat 类

The QTextCharFormat class provides formatting information for characters in a QTextDocument. 更多...

头文件 #include <QTextCharFormat>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui
继承自 QTextFormat
被继承的类

QTextImageFormatQTextTableCellFormat

注意: 该类中所有函数都是 可重入的

公共类型

枚举FontPropertiesInheritanceBehavior { FontPropertiesSpecifiedOnly, FontPropertiesAll }
枚举UnderlineStyle { NoUnderline, SingleUnderline, DashUnderline, DotLine, DashDotLine, …, SpellCheckUnderline }
枚举VerticalAlignment { AlignNormal, AlignSuperScript, AlignSubScript, AlignMiddle, AlignBottom, …, AlignBaseline }

公共函数

QTextCharFormat()
QStringanchorHref() const
QStringListanchorNames() const
(since 6.0) qrealbaselineOffset() const
QFontfont() const
QFont::CapitalizationfontCapitalization() const
QVariantfontFamilies() const
boolfontFixedPitch() const
QFont::HintingPreferencefontHintingPreference() const
boolfontItalic() const
boolfontKerning() const
qrealfontLetterSpacing() const
QFont::SpacingTypefontLetterSpacingType() const
boolfontOverline() const
qrealfontPointSize() const
intfontStretch() const
boolfontStrikeOut() const
QFont::StyleHintfontStyleHint() const
QVariantfontStyleName() const
QFont::StyleStrategyfontStyleStrategy() const
boolfontUnderline() const
intfontWeight() const
qrealfontWordSpacing() const
boolisAnchor() const
boolisValid() const
voidsetAnchor(bool anchor)
voidsetAnchorHref(const QString &value)
voidsetAnchorNames(const QStringList &names)
(since 6.0) voidsetBaselineOffset(qreal baseline)
voidsetFont(const QFont &font, QTextCharFormat::FontPropertiesInheritanceBehavior behavior = FontPropertiesAll)
voidsetFontCapitalization(QFont::Capitalization capitalization)
voidsetFontFamilies(const QStringList &families)
voidsetFontFixedPitch(bool fixedPitch)
voidsetFontHintingPreference(QFont::HintingPreference hintingPreference)
voidsetFontItalic(bool italic)
voidsetFontKerning(bool enable)
voidsetFontLetterSpacing(qreal spacing)
voidsetFontLetterSpacingType(QFont::SpacingType letterSpacingType)
voidsetFontOverline(bool overline)
voidsetFontPointSize(qreal size)
voidsetFontStretch(int factor)
voidsetFontStrikeOut(bool strikeOut)
voidsetFontStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = QFont::PreferDefault)
voidsetFontStyleName(const QString &styleName)
voidsetFontStyleStrategy(QFont::StyleStrategy strategy)
voidsetFontUnderline(bool underline)
voidsetFontWeight(int weight)
voidsetFontWordSpacing(qreal spacing)
(since 6.0) voidsetSubScriptBaseline(qreal baseline)
(since 6.0) voidsetSuperScriptBaseline(qreal baseline)
voidsetTextOutline(const QPen &pen)
voidsetToolTip(const QString &text)
voidsetUnderlineColor(const QColor &color)
voidsetUnderlineStyle(QTextCharFormat::UnderlineStyle style)
voidsetVerticalAlignment(QTextCharFormat::VerticalAlignment alignment)
(since 6.0) qrealsubScriptBaseline() const
(since 6.0) qrealsuperScriptBaseline() const
QPentextOutline() const
QStringtoolTip() const
QColorunderlineColor() const
QTextCharFormat::UnderlineStyleunderlineStyle() const
QTextCharFormat::VerticalAlignmentverticalAlignment() const

详细描述

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

字体可以使用setFont()函数设置,该函数可通过提供字体来实现。可以调整其外观的各个方面以产生所需的效果。setFontFamilies() 和 setFontPointSize()定义字体族(例如 Times)和打印大小;《fontWeight() 和 setFontItalic()提供了对字体样式的控制。setFontUnderline()、setFontOverline()、setFontStrikeOut()和setFontFixedPitch()为文本提供了附加效果。

颜色可以通过setForeground()设置。如果文本旨在用作锚点(用于超链接),可以通过setAnchor()启用。函数setAnchorHref()和setAnchorNames()用于指定超链接目标的详细信息以及锚点的名称。

另请参阅 QTextFormatQTextBlockFormatQTextTableFormatQTextListFormat

成员类型文档

枚举QTextCharFormat::FontPropertiesInheritanceBehavior

此枚举指定了setFont()函数在处理未设置的字体属性时的行为。

常量描述
QTextCharFormat::FontPropertiesSpecifiedOnly0如果属性未明确设置,则不更改文本格式的属性值。
QTextCharFormat::FontPropertiesAll1如果属性未明确设置,则使用默认值覆盖文本格式的属性。

另请参阅 setFont

枚举QTextCharFormat::UnderlineStyle

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

常量描述
QTextCharFormat::NoUnderline0文本绘制时没有下划线装饰。
QTextCharFormat::SingleUnderline1使用Qt::SolidLine绘制一条线。
QTextCharFormat::DashUnderline2使用Qt::DashLine绘制虚线。
QTextCharFormat::DotLine3使用Qt::DotLine绘制点。
QTextCharFormat::DashDotLine4使用Qt::DashDotLine绘制点和虚线。
QTextCharFormat::DashDotDotLine5使用Qt::DashDotDotLine绘制点和虚线的组合。
QTextCharFormat::WaveUnderline6使用波浪形线条为文本添加下划线。
QTextCharFormat::SpellCheckUnderline7下划线的绘制取决于QPlatformTheme的SpellCheckUnderlineStyle主题提示。默认情况下,它映射到WaveUnderline,在macOS上映射到DotLine。

另请参阅 Qt::PenStyle

枚举QTextCharFormat::VerticalAlignment

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

常量描述
QTextCharFormat::AlignNormal0相邻字符以使用的书写系统的标准方式定位。
QTextCharFormat::AlignSuperScript1将字符放置在正常文本的基线上方。
QTextCharFormat::AlignSubScript2将字符放置在正常文本的基线下方。
QTextCharFormat::AlignMiddle3对象中心与基线垂直对齐。当前,这仅适用于内联对象。
QTextCharFormat::AlignBottom5对象的底部边缘与基线垂直对齐。
QTextCharFormat::AlignTop4对象的顶部边缘与基线垂直对齐。
QTextCharFormat::AlignBaseline6字符的基线对齐。

成员函数文档

QTextCharFormat::QTextCharFormat()

构造一个新的字符格式对象。

QString QTextCharFormat::anchorHref() const

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

请参阅setAnchorHref

QStringList QTextCharFormat::anchorNames() const

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

请参阅setAnchorNames

[自 6.0] qreal QTextCharFormat::baselineOffset() const

返回基线偏移量,单位为百分比。

此函数是在 Qt 6.0 中引入的。

请参阅setBaselineOffsetsetSubScriptBaselinesubScriptBaselinesetSuperScriptBaselinesuperScriptBaseline

QFont QTextCharFormat::font() const

返回该字符格式的字体。

另请参阅 setFont

QFont::Capitalization QTextCharFormat::fontCapitalization() const

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

请参阅setFontCapitalization

QVariant QTextCharFormat::fontFamilies() const

返回文本格式的字体家族。

注意:此函数返回一个 QVariant,这是出于历史原因。它将在 Qt 7 中更正为返回 QStringList。variant 包含一个 QStringList 对象,可以通过调用 toStringList() 在它上提取。

请参阅setFontFamiliesfont

bool QTextCharFormat::fontFixedPitch() const

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

请参阅setFontFixedPitchfont

QFont::HintingPreference QTextCharFormat::fontHintingPreference() const

返回为此文本格式设置的提示偏好。

另请参阅 setFontHintingPreference(),font() 和 QFont::hintingPreference

bool QTextCharFormat::fontItalic() const

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

另请参阅 setFontItalic() 和 font

bool QTextCharFormat::fontKerning() const

如果启用了字体微调,则返回 true

另请参阅 setFontKerning() 和 font

qreal QTextCharFormat::fontLetterSpacing() const

返回当前的字母间距。

另请参阅 setFontLetterSpacing(),setFontLetterSpacingType() 和 fontLetterSpacingType

QFont::SpacingType QTextCharFormat::fontLetterSpacingType() const

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

另请参阅 setFontLetterSpacingType(),setFontLetterSpacing() 和 fontLetterSpacing

bool QTextCharFormat::fontOverline() const

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

另请参阅 setFontOverline() 和 font

qreal QTextCharFormat::fontPointSize() const

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

另请参阅 setFontPointSize() 和 font

int QTextCharFormat::fontStretch() const

返回当前的字体拉伸。

另请参阅 setFontStretch

bool QTextCharFormat::fontStrikeOut() const

如果文本格式的字体有贯穿的水平线,则返回 true;否则返回 false

另请参阅 setFontStrikeOut() 和 font

QFont::StyleHint QTextCharFormat::fontStyleHint() const

返回字体样式提示。

另请参阅 setFontStyleHint() 和 font

QVariant QTextCharFormat::fontStyleName() const

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

注意:此函数返回一个 QVariant,这是出于历史原因。它将在 Qt 7 中更正为返回 QStringList。variant 包含一个 QStringList 对象,可以通过调用 toStringList() 在它上提取。

另请参阅 setFontStyleName(),fontQFont::styleName

QFont::StyleStrategy QTextCharFormat::fontStyleStrategy() const

返回当前的字体样式策略。

另请参阅 setFontStyleStrategy() 和 font

bool QTextCharFormat::fontUnderline() const

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

另请参阅setFontUnderline() 和 font()。

int QTextCharFormat::fontWeight() const

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

另请参阅setFontWeight(),font() 和 QFont::Weight

qreal QTextCharFormat::fontWordSpacing() const

返回当前的字间距值。

另请参阅setFontWordSpacing

bool QTextCharFormat::isAnchor() const

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

另请参阅setAnchorsetAnchorHrefsetAnchorNames

bool QTextCharFormat::isValid() const

如果此字符格式有效,则返回 true;否则返回 false。

void QTextCharFormat::setAnchor(bool anchor)

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

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

另请参阅isAnchor

void QTextCharFormat::setAnchorHref(const QString &value)

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

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

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

另请参阅anchorHref

void QTextCharFormat::setAnchorNames(const QStringList &names)

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

另请参阅anchorNames

[since 6.0] void QTextCharFormat::setBaselineOffset(qreal baseline)

设置文本的基线(相对于高度的百分比)。正值会使文本向上移动相应的百分比;负值会使文本向下移动。默认值为0。

此函数是在 Qt 6.0 中引入的。

另请参阅 baselineOffset(),setSubScriptBaseline(),subScriptBaseline(),setSuperScriptBaseline()和superScriptBaseline()。

void QTextCharFormat::setFont(const QFont &fontQTextCharFormat::FontPropertiesInheritanceBehavior behavior = FontPropertiesAll)

设置文本格式的字体

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

另请参阅 font()。

void QTextCharFormat::setFontCapitalization(QFont::Capitalization capitalization)

将此字体中出现的文本的首字母标识设置为指定值。

字体的首字母标识使文本以选定的首字母识别模式显示。

另请参阅 fontCapitalization()。

void QTextCharFormat::setFontFamilies(const QStringList &families)

设置文本格式的字体族

另请参阅 fontFamilies()和setFont()。

void QTextCharFormat::setFontFixedPitch(bool fixedPitch)

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

另请参阅 fontFixedPitch()和setFont()。

void QTextCharFormat::setFontHintingPreference(QFont::HintingPreference hintingPreference)

将文本格式的字体的光栅提示偏好设置为指定值。

另请参阅 fontHintingPreference(),setFont()和QFont::setHintingPreference()。

void QTextCharFormat::setFontItalic(bool italic)

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

另请参阅 fontItalic()和setFont()。

void QTextCharFormat::setFontKerning(bool enable)

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

启用字距调整后,即使是拉丁文字,字体计量也不再相加。换句话说,'a'的宽度加上'b'的宽度不一定是"ab"的宽度。

另请参阅 fontKerning()和setFont()。

void QTextCharFormat::setFontLetterSpacing(qreal spacing)

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

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

另请参阅fontLetterSpacing(字母间距)、setFontLetterSpacingType(设置字母间距类型)和fontLetterSpacingType(字体字母间距类型)。

void QTextCharFormat::setFontLetterSpacingType(QFont::SpacingType letterSpacingType)

将此格式的字母间距类型设置为letterSpacingType

另请参阅fontLetterSpacingType(字体字母间距类型)、setFontLetterSpacing(设置字母间距)和fontLetterSpacing(字母间距)。

void QTextCharFormat::setFontOverline(bool overline)

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

另请参阅fontOverline(加粗下划线)和setFont(设置字体)。

void QTextCharFormat::setFontPointSize(qreal size)

设置文本格式的字体size

另请参阅fontPointSize(字体大小)和setFont(设置字体)。

void QTextCharFormat::setFontStretch(int factor)

将字体拉伸因子设置为factor

拉伸因子通过改变字体中所有字符的宽度来改变。例如,将factor设置为150,将所有字符加宽到1.5倍(即150%)。默认拉伸因子为100。最小拉伸因子为1,最大拉伸因子为4000。

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

另请参阅fontStretch(字体拉伸)。

void QTextCharFormat::setFontStrikeOut(bool strikeOut)

如果strikeOut为true,则设置具有启用删除线(水平线穿过它)的文字格式的字体;否则,它显示不带删除线。

另请参阅fontStrikeOut(删除线)和setFont(设置字体)。

void QTextCharFormat::setFontStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = QFont::PreferDefault)

设置字体样式hintstrategy

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

另请参阅fontStyleHint(字体样式提示)、setFont(设置字体)和QFont::setStyleHint(设置样式提示)。

void QTextCharFormat::setFontStyleName(const QString &styleName)

设置文本格式的字体styleName

另请参阅 fontStyleName(),setFont(),以及QFont::setStyleName

void QTextCharFormat::setFontStyleStrategy(QFont::StyleStrategy strategy)

设置字体样式 策略

另请参阅 fontStyleStrategysetFont,以及 QFont::setStyleStrategy

void QTextCharFormat::setFontUnderline(bool underline)

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

另请参阅 fontUnderline 以及 setFont

void QTextCharFormat::setFontWeight(int weight)

设置文本格式的字体粗细为 weight

另请参阅 fontWeightsetFont,以及 QFont::Weight

void QTextCharFormat::setFontWordSpacing(qreal spacing)

将此格式的单词间距设置为给定的 spacing,单位为像素。

另请参阅 fontWordSpacing

[since 6.0] void QTextCharFormat::setSubScriptBaseline(qreal baseline)

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

此函数是在 Qt 6.0 中引入的。

另请参阅 subScriptBaselinesetSuperScriptBaselinesuperScriptBaselinesetBaselineOffset 以及 baselineOffset

[since 6.0] void QTextCharFormat::setSuperScriptBaseline(qreal baseline)

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

此函数是在 Qt 6.0 中引入的。

另请参阅 superScriptBaselinesetSubScriptBaselinesubScriptBaselinesetBaselineOffset 以及 baselineOffset

void QTextCharFormat::setTextOutline(const QPen &pen)

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

另请参阅 textOutline

void QTextCharFormat::setToolTip(const QString &text)

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

另请参阅 toolTip

void QTextCharFormat::setUnderlineColor(const QColor &color)

设置用于绘制带有该格式的字符下划线、上划线和删除线的颜色。

另请参阅 underlineColor().

void QTextCharFormat::setUnderlineStyle(QTextCharFormat::UnderlineStyle style)

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

另请参阅 underlineStyle().

void QTextCharFormat::setVerticalAlignment(QTextCharFormat::VerticalAlignment alignment)

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

另请参阅 verticalAlignment().

[since 6.0] qreal QTextCharFormat::subScriptBaseline() const

返回下标的基线,作为字体高度的百分比。

此函数是在 Qt 6.0 中引入的。

另请参阅 setSubScriptBaseline(), setSuperScriptBaseline(), superScriptBaseline(), setBaselineOffset(), 和 baselineOffset().

[since 6.0] qreal QTextCharFormat::superScriptBaseline() const

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

此函数是在 Qt 6.0 中引入的。

另请参阅 setSuperScriptBaselin()), setSubScriptBaseline(), subScriptBaselinesetBaselineOffset(), 和 baselineOffset().

QPen QTextCharFormat::textOutline() const

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

另请参阅 setTextOutline().

QString QTextCharFormat::toolTip() const

返回用于显示文本片段的工具提示。

另请参阅 setToolTip().

QColor QTextCharFormat::underlineColor() const

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

另请参阅 setUnderlineColor().

QTextCharFormat::UnderlineStyle QTextCharFormat::underlineStyle() const

返回文本下划线的样式。

另请参阅 setUnderlineStyle().

QTextCharFormat::VerticalAlignment QTextCharFormat::verticalAlignment() const

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

另请参阅 setVerticalAlignment().

© 2024 The Qt Company Ltd. 本文档中包含的文档贡献归其各自所有者所有权。提供的文档根据自由软件基金会颁布的 GNU自由文档许可版本1.3 的条款进行许可。Qt和相应的标志是芬兰及其在全球的《The Qt Company Ltd.》商标。所有其他商标均为其各自所有者的财产。