PathText QML 类型

定义指定字体中的字符串。 更多...

导入语句import QtQuick
QtQuick 2.15

属性

详细描述

此元素定义指定字体中指定字符串的形状。文本的基线将被转换到 x 和 y 坐标,并根据字体添加相应的轮廓。

PathText {
    x: 0
    y: font.pixelSize
    font.family: "Arial"
    font.pixelSize: 100
    text: "Foobar"
}

另请参阅 PathQPainterPath::setFillRulePathPolylinePathQuadPathCubicPathArcPathAngleArcPathCurvePathSvgPathMove

属性文档

font.bold : bool

设置字体是否加粗。


font.capitalization : 枚举

设置文本的大小写。

常量描述
Font.MixedCase不应用大小写更改
Font.AllUppercase将文本渲染为全部大写类型
Font.AllLowercase将文本渲染为全小写类型
Font.SmallCaps将文本渲染为小写形式
Font.Capitalize将每个单词的首字母渲染为大写字母
PathText { text: "Hello"; font.capitalization: Font.AllLowercase }

font.family : string

设置字体的族名。

族名不区分大小写,可以包含可选的字体公司名称,例如 "Helvetica [Cronyx]"。如果该族由多个字体公司提供且未指定公司,则选择任意公司。如果族不可用,将使用字体匹配算法设置字族。


font.features : object [since 6.6]

在对文本进行造型时,将整数值应用于特定的OpenType功能,基于< bugs translate="no">features中的内容。这提供了对字体造型过程的深入访问,并且可以用于支持API中未涵盖的字体功能。

字体功能通过一个以四位字符标签为键,以整数值为值的映射表示。在这个整数值大多数情况下与标签一起传递表示布尔值:零值表示禁用该功能,非零值表示启用。对于某些字体功能,可能会有其他含义。例如,当应用到< code translate="no">salt特征时,值是用于指定要使用哪种风格的样式选择器的索引。

例如,< code translate="no">frac字体功能将斜杠分隔的斜杠分数(如< code translate="no">1/2)转换为不同的表示。通常这会涉及将整个分数烘焙为单个字符宽度(如< code translate="no">½)。

如果一个字体支持< code translate="no">frac功能,那么可以在造型器中启用它,如下面的代码所示

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1 }
}

可以在同一个映射中将多个功能分配值。例如,如果希望禁用字体的字距调整,可以明确禁用如下所示

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1, "kern": 0 }
}

您还可以将字体属性集合到对象中

Text {
    text: "One divided by two is 1/2"
    font: {
        family: "MyFractionFont"
        features: { "frac": 1, "kern": 0 }
    }
}

注意: 默认情况下,Qt会根据其他字体属性启用和禁用某些字体功能。特别是,< code translate="no">kern功能将根据font.kerning属性的QFont启用/禁用。此外,如果设置了font.letterSpacing,则所有衬线功能(ligacligdlighlig)都将禁用,但仅适用于衬线仅用于外观的书写系统。对于需要衬线的书写系统,这功能将保持默认状态。使用font.features设置的值将覆盖默认行为。如果将< code translate="no">"kern"设置为1,则无论是否将font.kerning属性设置为false,字距调整始终启用。类似地,如果设置为< code translate="no">0,它始终禁用。

此属性是在Qt 6.6中引入的。

另请参阅 QFont::setFeature


font.italic : bool

设置字体是否有斜体风格。


font.kerning : bool

在造型文本时启用或禁用OpenType字距调整功能。禁用此项可能在使用或更改文本时提高性能,但会影响某些外观特性。默认值是true。

PathText { text: "OATS FLAVOUR WAY"; font.kerning: false }

font.letterSpacing : real

设置字体单词间距。

单词间距会改变字体中个别字母间的默认间距。正值会增加字母间距对应的像素数;负值会减小间距。


font.pixelSize : int

设置像素字体大小。

使用此函数会使字体依赖于设备。使用 pointSize 设置字体大小,可以实现设备无关。


font.pointSize : real

设置点尺寸字体大小。点尺寸必须大于零。


font.preferShaping : bool

有时,字体会为某些字符应用复杂的规则,以正确显示它们。在一些书写系统中,例如布拉hmic字体,这可能是使文本可读所必须的,但在例如拉丁字体中,这只是一种外观特征。当不需要这些功能时,将 preferShaping 属性设置为 false 将禁用所有这些功能,这将在大多数情况下提高性能。

默认值为 true。

PathText { text: "Some text"; font.preferShaping: false }

font.strikeout : bool

设置字体是否有删除线风格。


font.styleName : string

设置字体的样式名称。

样式名称不区分大小写。如果设置了,字体将根据样式名称而非字体属性(如 font.weightfont.boldfont.italic)来匹配。


font.underline : bool

设置文本是否带下划线。


font.variableAxes : object [since 6.7]

将浮点值应用于可变字体中的可变轴。

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

在某些情况下,还可以为不同的轴提供任意值。例如,如果字体有 Regular 和 Bold 子系列,可能需要介于这些之间的中间重量。然后可以通过在字体中为“wght”轴提供自定义值手动请求它。

Text {
    text: "Foobar"
    font.family: "MyVariableFont"
    font.variableAxes: { "wght": (Font.Normal + Font.Bold) / 2.0 }
}

如果支持“wght”轴,并且给出值在其定义范围内,将提供一个与 550.0 重量对应的字体。

许多字体还提供了一些标准轴,如“wght”(重量)、“wdth”(宽度)、“ital”(斜体)和“opsz”(光学大小)。它们在字体中各自定义了单独的范围。例如,“wght”可能从 100 到 900(从QFont::ThinQFont::Black),而“ital”可以从 0 到 1(从非斜体到完全斜体)。

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

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

注意:要在 Windows 上使用可变轴,应用程序必须使用 FreeType 或 DirectWrite 字体数据库运行。有关如何选择这些技术的更多信息,请参阅QGuiApplication::QGuiApplication文档。

此属性是在 Qt 6.7 中引入的。

另请参阅QFont::setVariableAxis


字体.粗度 : 整数

设置字体的粗度。

粗度可以是以下其中之一

常量描述
Font.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400(默认值)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
PathText { text: "Hello"; font.weight: Font.DemiBold }

字体.字符间距 : 浮点数

设置字体的字符间距。

字符间距改变默认的字词间距。正值增加字词间距,而负值相应地减少字词间距。


文本 : 字符串

对于这个 PathText 应该包含轮廓的文本。


x : 浮点数

PathText基线的水平位置。


y : 浮点数

PathText基线的垂直位置。

注意:这个属性指的是文本基线的位置,而不是其包含框的顶部。这可能会导致一些混淆,例如在使用带有 Qt Quick Shapes 的 PathText 时。有关如何获得字体上凸距的信息,请参阅 FontMetrics,这可以用来自适应文本到期望的位置。


© 2024 Qt 公司。此处包含的文档贡献的版权归其各自的所有者所有。本提供的文档受免费的 GNU 文档许可协议版本 1.3 的条款约束,由自由软件基金会发布。Qt 和相应的标志是芬兰和/或其他国家的 Qt 公司的商标。所有其他商标为其各自所有者的财产。