En esta página

PathText QML Type

Define una cadena en una fuente especificada. Más...

Import Statement: import QtQuick
Since: QtQuick 2.15

Propiedades

Descripción detallada

Este elemento define la forma de una cadena especificada en una fuente especificada. La línea de base del texto se traducirá a las coordenadas x e y, y los contornos de la fuente se añadirán al trazado en consecuencia.

Cuando se utilice para representar textos en un elemento Shape, tenga en cuenta lo siguiente:

  • Para un relleno correcto, la ShapePath's fillRule debe establecerse en ShapePath.WindingFill.
  • No todas las fuentes proporcionan un contorno agradable adecuado para el trazo. Si desea un contorno trazado y no obtiene resultados satisfactorios, pruebe con otro tipo de letra.
PathText {
    x: 0
    y: font.pixelSize
    font.family: "Arial"
    font.pixelSize: 100
    text: "Foobar"
}

Véase también Path, QPainterPath::setFillRule, PathPolyline, PathQuad, PathCubic, PathArc, PathAngleArc, PathCurve, PathSvg, y PathMove.

Documentación de propiedades

font.bold : bool

Establece si el peso de la fuente es negrita.

font.capitalization : enumeration

Establece las mayúsculas para el texto.

ConstanteDescripción
Font.MixedCaseno se aplica ningún cambio de mayúsculas
Font.AllUppercasealtera el texto para que se muestre en mayúsculas
Font.AllLowercasealtera el texto para que se muestre en minúsculas
Font.SmallCapsmodifica el texto para que aparezca en minúsculas
Font.Capitalizemodifica el texto para que el primer carácter de cada palabra sea mayúscula
PathText { text: "Hello"; font.capitalization: Font.AllLowercase }

font.contextFontMerging : bool [since 6.8]

Si la fuente seleccionada no contiene un carácter determinado, Qt elige automáticamente una fuente alternativa de aspecto similar que contenga el carácter. Por defecto, esto se hace carácter por carácter.

Esto significa que en ciertos casos poco comunes, muchas fuentes diferentes pueden ser usadas para representar una cadena de texto incluso si está en el mismo script. Si se establece contextFontMerging a true, se intentará encontrar la fuente alternativa que coincida con el mayor subconjunto de la cadena de entrada. Esto será más costoso para las cadenas en las que falten glifos, pero puede dar resultados más consistentes. Por defecto, contextFontMerging es false.

Esta propiedad se introdujo en Qt 6.8.

Véase también QFont::StyleStrategy.

font.family : string

Establece el nombre de la familia de la fuente.

El nombre de la familia no distingue entre mayúsculas y minúsculas y puede incluir opcionalmente el nombre de una fundición, por ejemplo, "Helvetica [Cronyx]". Si la familia está disponible en más de una fundición y no se especifica la fundición, se elige una fundición arbitraria. Si la familia no está disponible, se establecerá una familia utilizando el algoritmo de correspondencia de fuentes.

font.features : object [since 6.6]

Aplica valores enteros a características OpenType específicas al dar forma al texto basándose en el contenido en features. Esto proporciona un acceso avanzado al proceso de modelado de fuentes y puede utilizarse para admitir características de fuentes que, de otro modo, no estarían cubiertas por la API.

Las características de la fuente se representan mediante un mapa de etiquetas de cuatro letras a valores enteros. Este valor entero pasado junto con la etiqueta representa en la mayoría de los casos un valor booleano: Un valor cero significa que la característica está desactivada, y un valor distinto de cero significa que está activada. Sin embargo, en el caso de determinadas funciones de fuentes, puede tener otras interpretaciones. Por ejemplo, cuando se aplica a la característica salt, el valor es un índice que especifica la alternativa estilística a utilizar.

Por ejemplo, la característica de fuente frac convertirá las fracciones diagonales separadas con una barra (como 1/2) con una representación diferente. Normalmente, esto implicará la conversión de la fracción completa en un único carácter de ancho (como ½).

Si una fuente soporta la característica frac, entonces puede activarse en el modelador como en el siguiente código:

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

Se pueden asignar valores a múltiples características en la misma asignación. Por ejemplo, si desea desactivar también el kerning para la fuente, puede desactivarlo explícitamente de la siguiente manera:

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

También puede reunir las propiedades de la fuente en un objeto:

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

Nota: Por defecto, Qt habilitará y deshabilitará ciertas características de la fuente basándose en otras propiedades de la fuente. En particular, la característica kern se habilitará/deshabilitará dependiendo de la propiedad font.kerning de la QFont. Además, todas las características de ligadura (liga, clig, dlig, hlig) se deshabilitarán si se establece una font.letterSpacing, pero sólo para sistemas de escritura donde el uso de ligaduras es cosmético. Para los sistemas de escritura en los que se requieren ligaduras, las características permanecerán en su estado predeterminado. Los valores establecidos mediante font.features anularán el comportamiento predeterminado. Si, por ejemplo, "kern" se establece en 1, el interletraje estará siempre activado, independientemente de si la propiedad font.kerning se establece en false. Del mismo modo, si se establece en 0, siempre estará desactivado.

Esta propiedad se introdujo en Qt 6.6.

Véase también QFont::setFeature().

font.italic : bool

Establece si la fuente tiene un estilo cursiva.

font.kerning : bool

Activa o desactiva la función kerning OpenType al dar forma al texto. Deshabilitarla puede mejorar el rendimiento al crear o modificar el texto, a expensas de algunas características estéticas. El valor por defecto es true.

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

font.letterSpacing : real

Establece el espaciado entre letras de la fuente.

El espaciado entre letras cambia el espaciado por defecto entre las letras individuales de la fuente. Un valor positivo aumenta el espaciado entre letras en los píxeles correspondientes; un valor negativo lo reduce.

font.pixelSize : int

Establece el tamaño de la fuente en píxeles.

El uso de esta función hace que la fuente dependa del dispositivo. Utilice pointSize para establecer el tamaño de la fuente de forma independiente del dispositivo.

font.pointSize : real

Establece el tamaño de la fuente en puntos. El tamaño en puntos debe ser mayor que cero.

font.preferShaping : bool

A veces, una fuente aplica reglas complejas a un conjunto de caracteres para mostrarlos correctamente. En algunos sistemas de escritura, como las escrituras brahmánicas, esto es necesario para que el texto sea legible, pero en la escritura latina, por ejemplo, es una característica meramente cosmética. Si se establece la propiedad preferShaping a false, se desactivarán todas estas características cuando no sean necesarias, lo que mejorará el rendimiento en la mayoría de los casos.

El valor por defecto es true.

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

font.preferTypoLineMetrics : bool [since 6.8]

conjuntos competidores de las métricas de línea vertical que proporcionan las ascent, descent y leading de la fuente. A menudo se denominan métricas win (Windows) y métricas typo (tipográficas). Aunque la especificación recomienda utilizar la métrica typo para el interlineado, muchas aplicaciones prefieren la métrica win a menos que se establezca el indicador USE_TYPO_METRICS en el campo fsSelection de la fuente. Por razones de retrocompatibilidad, éste es también el caso de las aplicaciones Qt. Esto no es un problema para las fuentes que establecen la bandera USE_TYPO_METRICS para indicar que las métricas typo son válidas, ni para las fuentes en las que las métricas win y typo coinciden. Sin embargo, en algunos tipos de letra, la métrica win puede ser mayor que el interlineado preferible y el indicador USE_TYPO_METRICS puede no estar activado por error. Para estos tipos de letra, la opción font.preferTypoLineMetrics puede dar mejores resultados.

Por defecto, preferTypoLineMetrics es false.

Esta propiedad se introdujo en Qt 6.8.

Véase también QFont::StyleStrategy.

font.strikeout : bool

Establece si la fuente tiene un estilo de tachado.

font.styleName : string

Establece el nombre del estilo de la fuente.

El nombre del estilo no distingue entre mayúsculas y minúsculas. Si se establece, la fuente se comparará con el nombre de estilo en lugar de con las propiedades de fuente font.weight, font.bold y font.italic.

font.underline : bool

Establece si se subraya el texto.

font.variableAxes : object [since 6.7]

Aplica valores de coma flotante a ejes variables en fuentes variables.

Las fuentes variables permiten almacenar múltiples variaciones (con diferentes pesos, anchos o estilos) en el mismo archivo de fuente. Las variaciones se dan como valores de coma flotante para un conjunto predefinido de parámetros, llamados "ejes variables". El diseñador de fuentes suele asignar nombres a las instancias específicas y, en Qt, éstas pueden seleccionarse mediante setStyleName() al igual que las subfamilias tradicionales.

En algunos casos, también es útil proporcionar valores arbitrarios para los diferentes ejes. Por ejemplo, si una fuente tiene una subfamilia Regular y otra Negrita, es posible que desee un peso intermedio. Puede solicitarlo manualmente indicando un valor personalizado para el eje "wght" de la fuente.

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

Si el eje "wght" está soportado por la fuente y el valor dado está dentro de su rango definido, se proporcionará una fuente correspondiente al peso 550.0.

Hay algunos ejes estándar que muchas fuentes proporcionan, como "wght" (peso), "wdth" (anchura), "ital" (cursiva) y "opsz" (tamaño óptico). Cada uno de ellos tiene rangos independientes definidos en la propia fuente. Por ejemplo, "wght" puede ir de 100 a 900 (deQFont::Thin a QFont::Black), mientras que "ital" puede ir de 0 a 1 (de no cursiva a totalmente cursiva).

Una fuente también puede optar por definir ejes personalizados; la única limitación es que el nombre tiene que cumplir los requisitos para un QFont::Tag (secuencia de cuatro caracteres latinos-1.)

Por defecto, no se define ningún eje variable.

Nota: En Windows, los ejes variables no están soportados si se utiliza el backend opcional de fuentes GDI.

Esta propiedad se introdujo en Qt 6.7.

Véase también QFont::setVariableAxis().

font.weight : int

Establece el peso de la fuente.

El peso puede ser uno de los siguientes

ConstanteDescripción
Font.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400 (por defecto)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
PathText { text: "Hello"; font.weight: Font.DemiBold }

font.wordSpacing : real

Establece el espaciado entre palabras de la fuente.

El espaciado entre palabras cambia el espaciado predeterminado entre palabras individuales. Un valor positivo aumenta el espaciado entre palabras en la cantidad de píxeles correspondiente, mientras que un valor negativo reduce el espaciado entre palabras.

text : string

El texto para el que esta PathText debe contener los esquemas.

x : real

Posición horizontal de la línea de base de PathText.

y : real

Posición vertical de la línea de base de PathText.

Nota: Esta propiedad se refiere a la posición de la línea de base del texto, no a la parte superior de su cuadro delimitador. Esto puede causar cierta confusión, por ejemplo cuando se utiliza PathText con Qt Quick Shapes. Consulte FontMetrics para obtener información sobre cómo obtener el ascendente de una fuente, que puede utilizarse para trasladar el texto a la posición esperada.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.