QFont Class

QFont Class

成员功能文档

QFont::QFont()

构造使用应用程序默认字体的字体对象。

另请参阅 QGuiApplication::setFont() 和QGuiApplication::font()。

QFont::QFont(const QFont &font, const QPaintDevice *pd)

从font 构建字体,供绘画设备pd 使用。

QFont::QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false)

使用指定的family 、pointSize 、weight 和italic 设置构建字体对象。

如果pointSize 为零或负数,字体的点大小将设置为与系统相关的默认值。一般情况下,默认值为 12 点。

family 名称还可选择包含代工厂名称,如 "Helvetica [Cronyx]"。如果family 有一个以上的代工厂,且未指定代工厂,则任意选择一个代工厂。如果没有可用的族,将使用font matching 算法设置一个族。

这将以逗号分割族字符串,并调用setFamilies() 得到结果列表。要保留名称中使用逗号的字体,请使用包含QStringList 的构造函数。

另请参见 Weight,setFamily(),setPointSize(),setWeight(),setItalic(),setStyleHint(),setFamilies(), 和QGuiApplication::font().

[explicit] QFont::QFont(const QStringList &families, int pointSize = -1, int weight = -1, bool italic = false)

使用指定的families 、pointSize 、weight 和italic 设置构建字体对象。

如果pointSize 为零或负数,字体的点大小将设置为与系统相关的默认值。一般为 12 点。

families 中的每个族名条目还可选择包含代工厂名称,如 "Helvetica [Cronyx]"。如果有一个以上的字体代工厂提供该族,但未指定代工厂,则任意选择一个代工厂。如果没有可用的族,则将使用font matching 算法设置一个族。

另请参阅 Weight,setPointSize(),setWeight(),setItalic(),setStyleHint(),setFamilies(), 和QGuiApplication::font().

QFont::QFont(const QFont &font)

构造一种字体,它是font 的副本。

[noexcept] QFont::~QFont()

销毁字体对象并释放所有已分配的资源。

bool QFont::bold() const

如果weight() 的值大于QFont::Medium ,则返回true ;否则返回false 。

另请参见 weight()、setBold() 和QFontInfo::bold()。

QFont::Capitalization QFont::capitalization() const

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

另请参阅 setCapitalization()。

[since 6.7] void QFont::clearFeatures()

清除QFont 上先前设置的任何特征。

有关字体特征的更多详情,请参阅setFeature() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,setFeature(),unsetFeature(),featureTags() 和featureValue() 。

[since 6.7] void QFont::clearVariableAxes()

清除QFont 上先前设置的任何可变轴值。

有关可变轴的更多详情,请参阅setVariableAxis() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,setVariableAxis(),unsetVariableAxis(),isVariableAxisSet() 和variableAxisValue() 。

QString QFont::defaultFamily() const

返回与当前样式提示相对应的族名。

另请参阅 StyleHint,styleHint() 和setStyleHint()。

bool QFont::exactMatch() const

如果存在与该字体设置完全匹配的窗口系统字体,则返回true 。

另请参阅 QFontInfo 。

QStringList QFont::families() const

返回请求的字体族名称,即最后一次调用setFamilies() 或通过构造函数设置的名称。否则返回空列表。

另请参见 setFamily()、setFamilies()、family()、substitutes() 和substitute()。

QString QFont::family() const

返回请求的字体族名称。它将始终与families() 调用中的第一个条目相同。

另请参阅 setFamily()、substitutes()、substitute()、setFamilies() 和families()。

[since 6.7] QList QFont::featureTags() const

返回当前在QFont 上设置的所有字体特征的标记列表。

有关字体特性的更多详情,请参阅setFeature() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,setFeature(),unsetFeature(),isFeatureSet() 和clearFeatures() 。

[since 6.7] quint32 QFont::featureValue(QFont::Tag tag) const

返回为特定特征设置的值tag 。如果未设置标签,则返回 0。

有关字体特征的更多详情,请参阅setFeature() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,setFeature(),unsetFeature(),featureTags() 和isFeatureSet() 。

bool QFont::fixedPitch() const

如果已设置固定间距,则返回true ;否则返回false 。

另请参见 setFixedPitch() 和QFontInfo::fixedPitch()。

bool QFont::fromString(const QString &descrip)

设置该字体以匹配descrip 的描述。描述是以逗号分隔的字体属性列表,由toString() 返回。

另请参阅 toString()。

QFont::HintingPreference QFont::hintingPreference() const

返回使用该字体渲染的字形的当前首选提示级别。

另请参阅 setHintingPreference()。

[static] void QFont::insertSubstitution(const QString &familyName, const QString &substituteName)

将substituteName 插入familyName 族的替换表中。

替换字体后,通过销毁和重新创建所有QFont 对象来触发字体更新。

另请参阅 insertSubstitutions()、removeSubstitutions()、substitutions()、substitute() 和substitutes()。

[static] void QFont::insertSubstitutions(const QString &familyName, const QStringList &substituteNames)

将substituteNames 系列列表插入familyName 的替换列表。

替换字体后,通过销毁和重新创建所有QFont 对象来触发字体更新。

另请参阅 insertSubstitution()、removeSubstitutions()、substitutions() 和substitute()。

bool QFont::isCopyOf(const QFont &f) const

如果该字体和f 是彼此的副本,即其中一个字体是作为另一个字体的副本创建的,并且此后都没有修改过,则返回true 。这比相等严格得多。

另请参见 operator=() 和operator==()。

[since 6.7] bool QFont::isFeatureSet(QFont::Tag tag) const

如果tag 给定的特征值已在QFont 上设置,则返回 true,否则返回 false。

有关字体特征的更多详情,请参阅setFeature() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,setFeature(),unsetFeature(),featureTags() 和featureValue() 。

[since 6.7] bool QFont::isVariableAxisSet(QFont::Tag tag) const

如果tag 给定的变量轴的值已在QFont 上设置,则返回 true,否则返回 false。

有关字体变轴的更多详情,请参阅setVariableAxis() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,setVariableAxis(),unsetVariableAxis(),variableAxisValue() 和clearVariableAxes().

bool QFont::italic() const

如果字体的style() 不是true ,则返回 。QFont::StyleNormal

另请参阅 setItalic() 和style()。

bool QFont::kerning() const

如果在使用该字体绘制文本时要使用分隔符,则返回true 。

另请参阅 setKerning().

QString QFont::key() const

返回字体的键,即字体的文本表示。它通常用作字体缓存或字典的键。

另请参阅 QMap 。

qreal QFont::letterSpacing() const

返回字体的字母间距。

另请参阅 setLetterSpacing()、letterSpacingType() 和setWordSpacing()。

QFont::SpacingType QFont::letterSpacingType() const

返回字母间距使用的间距类型。

另请参阅 letterSpacing()、setLetterSpacing() 和setWordSpacing()。

bool QFont::overline() const

如果设置了换行,则返回true ;否则返回false 。

另请参阅 setOverline() 。

int QFont::pixelSize() const

如果字体大小是通过setPixelSize() 设置的,则返回字体的像素大小。如果字体大小是通过setPointSize() 或setPointSizeF() 设置的,则返回-1。

另请参阅 setPixelSize()、pointSize()、QFontInfo::pointSize() 和QFontInfo::pixelSize()。

int QFont::pointSize() const

返回字体的点大小。如果字体大小以像素为单位,则返回-1。

另请参阅 setPointSize() 和pointSizeF()。

qreal QFont::pointSizeF() const

返回字体的点大小。如果字体大小以像素为单位,则返回-1。

另请参阅 pointSize()、setPointSizeF()、pixelSize()、QFontInfo::pointSize() 和QFontInfo::pixelSize()。

[static] void QFont::removeSubstitutions(const QString &familyName)

删除familyName 的所有替换。

另请参见 insertSubstitutions()、insertSubstitution()、substitutions() 和substitute()。

QFont QFont::resolve(const QFont &other) const

返回一个新的QFont ,其中的属性是从other 复制而来,该字体之前未设置过这些属性。

void QFont::setBold(bool enable)

如果enable 为 true,则将字体的权重设置为QFont::Bold ;否则将权重设置为QFont::Normal 。

如需更精细的粗细控制,请使用setWeight() 。

注意: 如果设置了styleName(),该值可能会被忽略,或者如果平台支持,字体会被人为加粗。

另请参阅 bold() 和setWeight()。

void QFont::setCapitalization(QFont::Capitalization caps)

将该字体文本的大小写设置为caps 。

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

另请参阅 capitalization() 。

void QFont::setFamilies(const QStringList &families)

设置字体的族名列表。这些名称不区分大小写,可能包括铸造厂名称。families 中的第一个族将被设置为字体的主族。

families 中的每个族名还可选择包含一个铸造厂名称,例如 "Helvetica [Cronyx]"。如果有一个以上的字体代工厂提供该族,但未指定代工厂,则会任意选择一个代工厂。如果没有可用的族,则将使用font matching 算法设置一个族。

另请参阅 family(),families(),setFamily(),setStyleHint() 和QFontInfo 。

void QFont::setFamily(const QString &family)

设置字体的族名。该名称不区分大小写,可包含代工厂名称。

family 名称也可选择包含代工厂名称,如 "Helvetica [Cronyx]"。如果family 可从一个以上的代工厂获得,且未指定代工厂,则任意选择一个代工厂。如果没有可用的族,将使用font matching 算法设置一个族。

另请参阅 family(),setStyleHint(),setFamilies(),families() 和QFontInfo 。

[since 6.7] void QFont::setFeature(QFont::Tag tag, quint32 value)

这是一个重载函数。

在塑造文本时,将一个整数值应用到tag 指定的字体特征。这提供了对字体整形过程的高级访问,可用于支持 API 未涵盖的字体特征。

该特征由tag 指定,通常由字体特征图中的四字符特征名称编码而成。

在大多数情况下,与标签一起传递的这个整数value 代表一个布尔值:零值表示禁用该特征,非零值表示启用该特征。但对于某些字体特征,它可能有其他解释。例如,当应用于salt 功能时,该值是一个索引,用于指定要使用的替代样式。

例如,frac 字体功能会将用斜线分隔的对角线分数(如1/2 )转换为不同的表示方法。通常情况下,这需要将完整的分数转换为单个字符宽度(如½ )。

如果字体支持frac 功能,则可以通过在字体特征图中设置features["frac"] = 1 ,在整形器中启用该功能。

注: 默认情况下,Qt 将根据其他字体属性启用或禁用某些字体功能。特别是,kern 功能的启用/禁用将取决于QFont 的kerning() 属性。此外,如果应用了letterSpacing() ,所有连字功能(liga,clig,dlig,hlig )都将禁用,但仅适用于不需要使用连字的书写系统。对于需要使用连字符的书写系统,这些功能将保持默认状态。使用 setFeature() 和相关函数设置的值将覆盖默认行为。例如,如果将 "kern "特性设置为 1,那么无论 "kerning "属性是否设置为 false,都将始终启用 "kerning"。同样,如果将其设置为 0,则将始终禁用。要将字体功能重置为默认行为,可以使用unsetFeature() 取消设置。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag 、clearFeatures()、setFeature()、unsetFeature() 和featureTags()。

void QFont::setFixedPitch(bool enable)

如果enable 为 true,则开启固定螺距;否则关闭固定螺距。

另请参阅 fixedPitch() 和QFontInfo 。

void QFont::setHintingPreference(QFont::HintingPreference hintingPreference)

将字形的提示级别首选项设置为hintingPreference 。这是对底层字体渲染系统的一种提示,要求其使用一定级别的提示,不同平台的支持情况各不相同。详情请参见QFont::HintingPreference 文档中的表格。

默认的提示首选项是QFont::PreferDefaultHinting 。

另请参阅 hintingPreference().

void QFont::setItalic(bool enable)

如果enable 为 true,则将字体的style() 设置为QFont::StyleItalic ;否则,将字体样式设置为QFont::StyleNormal 。

注: 如果设置了styleName(),该值可能会被忽略,或者如果平台支持,字体可能会倾斜渲染,而不是选择设计的斜体字体变量。

另请参阅 italic() 和QFontInfo 。

void QFont::setKerning(bool enable)

如果enable 为 true,则启用该字体的分色;否则禁用。默认情况下,启用字形分辨。

启用分隔后,即使是拉丁文本,字形度量值也不会再相加。换句话说,width('a') + width('b') 等于 width("ab") 的假设并不一定成立。

另请参见 kerning() 和QFontMetrics 。

void QFont::setLetterSpacing(QFont::SpacingType type, qreal spacing)

将字体的字母间距设置为spacing ,间距类型设置为type 。

字母间距更改字体中单个字母之间的默认间距。根据所选的间距类型,字母间距既可以变小,也可以变大,可以是字符宽度的百分比,也可以是像素。

另请参阅 letterSpacing()、letterSpacingType() 和setWordSpacing()。

void QFont::setOverline(bool enable)

如果enable 为 true,则开启叠加线;否则关闭叠加线。

另请参阅 overline() 和QFontInfo 。

void QFont::setPixelSize(int pixelSize)

将字体大小设置为pixelSize 像素,最大字体大小为无符号 16 位整数。

使用该函数会使字体依赖于设备。请使用setPointSize() 或setPointSizeF() 以独立于设备的方式设置字体大小。

另请参阅 pixelSize()。

void QFont::setPointSize(int pointSize)

将点尺寸设置为pointSize 。点尺寸必须大于零。

另请参阅 pointSize() 和setPointSizeF()。

void QFont::setPointSizeF(qreal pointSize)

将点尺寸设置为pointSize 。点尺寸必须大于零。要求的精度可能无法在所有平台上实现。

另请参阅 pointSizeF()、setPointSize() 和setPixelSize()。

void QFont::setStretch(int factor)

设置字体的拉伸因子。

拉伸因子匹配字体的压缩或扩展版本,或应用拉伸变换,将字体中所有字符的宽度改变factor %。例如,将factor 设置为 150 会使字体中所有字符的宽度增加 1.5 倍(即 150%)。最小拉伸因子为 1,最大拉伸因子为 4000。默认的拉伸因数是AnyStretch ,它接受任何拉伸因数,不会对字体应用任何变换。

拉伸因子只应用于轮廓字体。位图字体将忽略拉伸因数。

注意: 在匹配具有本地非默认拉伸因数的字体时,请求拉伸 100 将把字体拉伸回中等宽度字体。

另请参阅 stretch() 和QFont::Stretch 。

void QFont::setStrikeOut(bool enable)

如果enable 为 true,则设置 strikeout on;否则设置 strikeout off。

另请参阅 strikeOut() 和QFontInfo 。

void QFont::setStyle(QFont::Style style)

将字体样式设置为style 。

另请参阅 style(),italic() 和QFontInfo 。

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

将样式提示和策略分别设置为hint 和strategy 。

如果没有明确设置,则默认样式提示为AnyStyle ,样式策略为PreferDefault 。

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

另请参阅 StyleHint,styleHint(),StyleStrategy,styleStrategy(), 和QFontInfo 。

void QFont::setStyleName(const QString &styleName)

将字体的样式名称设置为styleName 。设置后,其他样式属性(如style() 和weight() )将在字体匹配中被忽略,但如果平台的字体引擎支持,它们可能会被模拟。

由于人工模拟的样式质量较低,而且缺乏全面的跨平台支持,因此不建议同时使用样式名称匹配和样式属性匹配。

另请参阅 styleName()。

void QFont::setStyleStrategy(QFont::StyleStrategy s)

将字体的样式策略设置为s 。

另请参阅 styleStrategy() 和QFont::StyleStrategy 。

void QFont::setUnderline(bool enable)

如果enable 为 true,则打开下划线;否则关闭下划线。

另请参阅 underline() 和QFontInfo 。

[since 6.7] void QFont::setVariableAxis(QFont::Tag tag, float value)

将value 应用于与tag 对应的变量轴。

可变字体提供了一种在同一字体文件中存储多种变化(具有不同重量、宽度或样式)的方法。这些变化以浮点数值的形式给出,用于一组预定义的参数,称为 "变量轴"。具体实例通常由字体设计者命名,在 Qt XML 中,可以使用setStyleName() 选择这些实例,就像传统的子字库一样。

在某些情况下,为不同轴提供任意值也很有用。例如,如果一种字体有普通和粗体两个子字体,您可能需要一个介于这两种字体之间的权重。这时,您可以通过为字体中的 "wght "轴提供自定义值来手动实现这一要求。

QFont font;

font.setVariableAxis("wght", (QFont::Normal + QFont::Bold) / 2.0f);

如果字体支持 "wght "轴,且给定值在其定义范围内,则将提供与权重 550.0 相对应的字体。

许多字体都提供一些标准轴,如 "wght"(重量)、"wdth"(宽度)、"ital"(斜体)和 "opsz"(光学尺寸)。字体本身定义了它们各自的范围。例如,"wght "可以从 100 到 900(QFont::Thin 到QFont::Black ),而 "ital "可以从 0 到 1(从非斜体到完全斜体)。

字体也可以选择定义自定义轴;唯一的限制是名称必须符合QFont::Tag (四个拉丁-1 字符的序列)的要求。

默认情况下,不设置可变轴。

注意: 在 Windows 系统中,如果使用了可选的 GDI 字体后端,则不支持可变轴。

此函数在 Qt 6.7 中引入。

另请参阅 unsetVariableAxis 。

void QFont::setWeight(QFont::Weight weight)

使用QFont::Weight 枚举定义的比例,将字体的权重设置为weight 。

注: 如果设置了styleName(),则在选择字体时可以忽略此值。

另请参阅 weight() 和QFontInfo 。

void QFont::setWordSpacing(qreal spacing)

将字体的字间距设置为spacing 。

字间距更改单个字之间的默认间距。正值会相应增加字间距的像素数,而负值则会相应减少字间距。

单词间距不适用于书写系统,因为在书写系统中,单个单词之间没有空白分隔。

另请参阅 wordSpacing() 和setLetterSpacing()。

int QFont::stretch() const

返回字体的拉伸因子。

另请参见 setStretch()。

bool QFont::strikeOut() const

如果设置了 strikeout,则返回true ;否则返回false 。

另请参见 setStrikeOut() 。

QFont::Style QFont::style() const

返回字体的样式。

另请参见 setStyle()。

QFont::StyleHint QFont::styleHint() const

返回StyleHint 。

样式提示会影响font matching algorithm 。可用提示列表请参见QFont::StyleHint 。

另请参阅 setStyleHint(),QFont::StyleStrategy, 和QFontInfo::styleHint().

QString QFont::styleName() const

返回请求的字体样式名称。这可用于匹配不规则样式(无法在其他样式属性中规范化)的字体。

另请参阅 setStyleName()、setFamily() 和setStyle()。

QFont::StyleStrategy QFont::styleStrategy() const

返回StyleStrategy 。

样式策略会影响font matching 算法。有关可用策略的列表,请参见QFont::StyleStrategy 。

另请参阅 setStyleStrategy(),setStyleHint() 和QFont::StyleHint 。

[static] QString QFont::substitute(const QString &familyName)

返回在指定familyName 时使用的第一个族名。查询不区分大小写。

如果familyName 没有替代项,则返回familyName 。

要获取替换列表,请使用substitutes() 。

另请参阅 setFamily()、insertSubstitutions()、insertSubstitution() 和removeSubstitutions()。

[static] QStringList QFont::substitutes(const QString &familyName)

返回在指定familyName 时使用的族名列表。查找不区分大小写。

如果familyName 没有替换,则返回空列表。

另请参阅 substitute()、insertSubstitutions()、insertSubstitution() 和removeSubstitutions()。

[static] QStringList QFont::substitutions()

返回已替换姓氏的排序列表。

另请参阅 insertSubstitution()、removeSubstitutions() 和substitute()。

[noexcept] void QFont::swap(QFont &other)

将此字体实例与other 互换。该操作速度非常快,从未出现过故障。

QString QFont::toString() const

返回字体的描述。该描述是以逗号分隔的属性列表,非常适合在QSettings 中使用,包括以下内容:

字体系列

点大小

像素大小

样式提示

字体重量

字体样式

下划线

删除

固定间距

始终为0

大写

字母间距

单词间距

拉伸

样式策略

字体样式(不可用时省略)

另请参阅 fromString().

bool QFont::underline() const

如果已设置下划线,则返回true ;否则返回false 。

另请参阅 setUnderline() 。

[since 6.7] void QFont::unsetFeature(QFont::Tag tag)

这是一个重载函数。

从明确启用/禁用的特征映射中取消设置tag 。

注意: 即使之前未添加该特征,也会在此QFont 中将字体特征映射标记为已修改,因此在与其他字体进行解析时将优先使用。

在QFont 上取消设置现有特征会将行为还原为默认行为。

有关字体特征的更多详情,请参阅setFeature() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,clearFeatures(),setFeature(),featureTags() 和featureValue() 。

[since 6.7] void QFont::unsetVariableAxis(QFont::Tag tag)

取消tag 先前设置的变轴值。

注意: 如果之前没有为该标记赋值,则QFont 在与其他QFont 值进行解析时,仍会将其变轴视为已设置。

此函数在 Qt 6.7 中引入。

另请参阅 setVariableAxis 。

[since 6.7] QList QFont::variableAxisTags() const

返回当前在此QFont 上设置的所有变量轴的标记列表。

有关变量轴的更多详情,请参阅setVariableAxis() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,setVariableAxis(),unsetVariableAxis(),isVariableAxisSet() 和clearVariableAxes() 。

[since 6.7] float QFont::variableAxisValue(QFont::Tag tag) const

返回为特定变量轴tag 设置的值。如果未设置标签,则将返回 0.0。

有关变量轴的更多详情,请参阅setVariableAxis() 。

此函数在 Qt 6.7 中引入。

另请参阅 QFont::Tag,setVariableAxis(),unsetVariableAxis(),isVariableAxisSet() 和clearVariableAxes() 。

QFont::Weight QFont::weight() const

使用与QFont::Weight 枚举相同的比例返回字体的权重。

另请参阅 setWeight(),Weight, 和QFontInfo 。

qreal QFont::wordSpacing() const

返回字体的字间距。

另请参阅 setWordSpacing() 和setLetterSpacing()。

QVariant QFont::operator QVariant() const

返回字体的QVariant

bool QFont::operator!=(const QFont &f) const

如果该字体与f 不同,则返回true ;否则返回false 。

如果两个 QFonts 的字体属性不同,则视为不同。

另请参阅 operator==() 。

bool QFont::operator<(const QFont &f) const

提供该字体与f 字体的任意比较。如果两种字体相等,运算符返回false ;如果两种字体不相等,运算符返回 (f1 < f2) == !(f2 < f1)。

该函数在某些情况下非常有用,例如,如果您想将QFont 对象用作QMap 中的键。

另请参阅 operator==(),operator!=() 和isCopyOf()。

[noexcept] QFont &QFont::operator=(QFont &&other)

Move-assignsother 到此QFont 实例。

QFont &QFont::operator=(const QFont &font)

为该字体指定font 并返回其引用。

bool QFont::operator==(const QFont &f) const

如果该字体等于f ,则返回true ;否则返回 false。

如果两个 QFonts 的字体属性相等,则视为相等。

另请参阅 operator!=() 和isCopyOf()。

相关推荐

借力创新让非遗走出“深闺” 江小白酒业让五百年酿酒技艺活起来
人类为何出现在宇宙中 地球为何适宜人类生存
best365官网体育投注

人类为何出现在宇宙中 地球为何适宜人类生存

📅 07-20 👁️ 223
给俄罗斯世界杯算笔经济账,是亏了还是赚了?
梦幻西游剑灵攻略—梦幻西游剑灵副本详细攻略地图
在线为视频添加音频 – 音乐、旁白及更多
mobile365体育

在线为视频添加音频 – 音乐、旁白及更多

📅 08-13 👁️ 4912
物流滞留几天要交保管费 物流保管费一天多少钱