PathText QML 类型
定义指定字体中的字符串。 更多...
导入语句 | import QtQuick |
自 | QtQuick 2.15 |
属性
- font.bold : bool
- font.capitalization : 枚举
- font.family : string
- font.features : object
(since 6.6)
- font.italic : bool
- font.kerning : bool
- font.letterSpacing : real
- font.pixelSize : int
- font.pointSize : real
- font.preferShaping : bool
- font.strikeout : bool
- font.styleName : string
- font.underline : bool
- font.variableAxes : object
(since 6.7)
- font.weight : int
- font.wordSpacing : real
- text : string
- x : real
- y : real
详细描述
此元素定义指定字体中指定字符串的形状。文本的基线将被转换到 x 和 y 坐标,并根据字体添加相应的轮廓。
PathText { x: 0 y: font.pixelSize font.family: "Arial" font.pixelSize: 100 text: "Foobar" }
另请参阅 Path、QPainterPath::setFillRule、PathPolyline、PathQuad、PathCubic、PathArc、PathAngleArc、PathCurve、PathSvg 和 PathMove。
属性文档
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 |
在对文本进行造型时,将整数值应用于特定的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,则所有衬线功能(liga
、clig
、dlig
、hlig
)都将禁用,但仅适用于衬线仅用于外观的书写系统。对于需要衬线的书写系统,这功能将保持默认状态。使用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.weight、font.bold 和 font.italic)来匹配。
font.underline : bool |
设置文本是否带下划线。
font.variableAxes : object |
将浮点值应用于可变字体中的可变轴。
可变字体提供了一种方法,可以在同一个字体文件中存储多个变化(不同重量、宽度或样式)。这些变化以预定义参数的浮点值给出,称为“可变轴”。具体实例通常由字体设计师命名,并在 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::Thin 到 QFont::Black),而“ital”可以从 0 到 1(从非斜体到完全斜体)。
字体也可以选择定义自定义轴;唯一的限制是名称必须满足QFont::Tag(四个latin-1字符的序列)的要求。
默认情况下,没有设置可变轴。
注意:要在 Windows 上使用可变轴,应用程序必须使用 FreeType 或 DirectWrite 字体数据库运行。有关如何选择这些技术的更多信息,请参阅QGuiApplication::QGuiApplication文档。
此属性是在 Qt 6.7 中引入的。
字体.粗度 : 整数 |
设置字体的粗度。
粗度可以是以下其中之一
常量 | 描述 |
---|---|
Font.Thin | 100 |
Font.ExtraLight | 200 |
Font.Light | 300 |
Font.Normal | 400(默认值) |
Font.Medium | 500 |
Font.DemiBold | 600 |
Font.Bold | 700 |
Font.ExtraBold | 800 |
Font.Black | 900PathText { text: "Hello"; font.weight: Font.DemiBold } |
字体.字符间距 : 浮点数 |
设置字体的字符间距。
字符间距改变默认的字词间距。正值增加字词间距,而负值相应地减少字词间距。
x : 浮点数 |
PathText基线的水平位置。
y : 浮点数 |
PathText基线的垂直位置。
注意:这个属性指的是文本基线的位置,而不是其包含框的顶部。这可能会导致一些混淆,例如在使用带有 Qt Quick Shapes 的 PathText 时。有关如何获得字体上凸距的信息,请参阅 FontMetrics,这可以用来自适应文本到期望的位置。
© 2024 Qt 公司。此处包含的文档贡献的版权归其各自的所有者所有。本提供的文档受免费的 GNU 文档许可协议版本 1.3 的条款约束,由自由软件基金会发布。Qt 和相应的标志是芬兰和/或其他国家的 Qt 公司的商标。所有其他商标为其各自所有者的财产。