Déjame saber en qué unidades se muestra el ancho de TextMetrics [píxel/punto o algún otro ..] A continuación se muestra el fragmento de mi código y la salida del mismo.
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) } } Producción:
qml: Minúsculas
qml: un 7
qml: b 8
qml: c 7
qml: d 8
qml: mi 8
qml: f 5
qml: g 8
qml: h 7
qml: yo 3
qml: j 5
qml: k 7
qml: l 3
qml: m 11
qml:n 7
qml: o 9
qml: pág 8
qml:q 8
qml:r 5
qml:s 7
qml: t 5
qml: tu 7
qml:v 8
qml: w 12
qml: x 8
qml: y 8
qml: z 7
width() simplemente devuelveboundingRect boundingRect().width() que está en píxeles: