You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QML中TextMetrics的width属性计算采用什么单位?

TextMetrics的width属性单位解答

Qt QML 中的 TextMetrics 组件的 width 属性返回值默认单位为 像素。

说明

你提供的测试输出完全符合像素单位的特征:

  • 窄字符i、l的测量宽度仅为3,最宽的小写字母w测量宽度为12,和主流默认无衬线字体的单字符渲染像素宽度完全匹配。
  • 该测量结果直接对应文本渲染时占用的水平像素数,在未开启高DPI全局缩放的场景下就是屏幕物理像素数;如果开启了高DPI适配,返回值为适配后的逻辑像素,同样属于像素类长度单位,不会是印刷领域常用的点(pt)单位。

测试参考

代码片段

TextMetrics 
{
   id:textMetrics
   text: ''
}

onPopupItemsChanged: {
var lowerCase = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

console.log("Lower Case")
for(var k = 0; k < lowerCase.length; k++) {
   textMetrics.text = lowerCase[k];
   console.log(textMetrics.text, textMetrics.width)
}

}

运行输出

qml: Lower Case
qml: a 7
qml: b 8
qml: c 7
qml: d 8
qml: e 8
qml: f 5
qml: g 8
qml: h 7
qml: i 3
qml: j 5
qml: k 7
qml: l 3
qml: m 11
qml: n 7
qml: o 9
qml: p 8
qml: q 8
qml: r 5
qml: s 7
qml: t 5
qml: u 7
qml: v 8
qml: w 12
qml: x 8
qml: y 8
qml: z 7

内容的提问来源于stack exchange,提问作者Mohammed Sadiq Afreed Meeran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:27:04