En esta página

Text QML Type

Especifica cómo añadir texto formateado a una escena. Más...

Import Statement: import QtQuick
Inherits:

Item

Inherited By:

Label

Propiedades

Señales

Métodos

Descripción detallada

Los elementos de texto pueden mostrar tanto texto plano como enriquecido. Por ejemplo, puede definir texto rojo con una fuente y un tamaño específicos de esta forma:

Text {
    text: "Hello World!"
    font.family: "Helvetica"
    font.pointSize: 24
    color: "red"
}

Utilice marcas de estilo HTML o Markdown para definir texto enriquecido:

Text {
    text: "<b>Hello</b> <i>World!</i>"
}
Text {
    text: "**Hello** *World!*"
}

Si la altura y la anchura no se establecen explícitamente, Text intentará determinar cuánto espacio se necesita y lo establecerá en consecuencia. A menos que se establezca wrapMode, siempre preferirá la anchura a la altura (todo el texto se colocará en una sola línea).

Para ajustar una sola línea de texto plano a una anchura establecida, puede utilizar la propiedad elide.

Nota: El subconjunto HTML soportado es limitado. No se pretende que sea compatible con el estándar HTML, sino que se proporciona como una comodidad para aplicar estilos a las etiquetas de texto. Además, si el texto contiene etiquetas HTML img que cargan imágenes remotas, el texto se recargará.

Text proporciona texto de sólo lectura. Para texto editable, véase TextEdit.

Advertencia: Por defecto, Text detectará el textFormat basándose en el contenido en text. Si se determina que es Text.StyledText o Text.MarkdownText, el componente Text soportará características de texto enriquecido como el cambio de colores, estilos de fuente e imágenes en línea. Esta funcionalidad incluye la carga remota de imágenes a través de la red. Por lo tanto, cuando se muestre contenido controlado por el usuario y que no sea de confianza, textFormat debe establecerse explícitamente como Text.PlainText, o el contenido debe despojarse de las etiquetas no deseadas.

Véase también el ejemplo Fuentes.

Documentación de propiedades

advance : size [read-only]

La distancia, en píxeles, desde el origen de la línea de base del primer carácter del elemento de texto, hasta el origen de la línea de base del primer carácter de un elemento de texto que ocurra directamente después de éste en un flujo de texto.

Tenga en cuenta que el avance puede ser negativo si el texto fluye de derecha a izquierda.

antialiasing : bool

Se utiliza para decidir si el texto debe utilizar antialiasing o no. Sólo los textos con renderType de Text.NativeRendering pueden desactivar el antialiasing.

El valor por defecto es true.

baseUrl : url

Esta propiedad especifica una URL base que se utiliza para resolver URLs relativas dentro del texto.

Las URLs se resuelven dentro del mismo directorio que el destino de la URL base, lo que significa que cualquier parte de la ruta después del último '/' será ignorada.

URL baseURL relativaURL resuelta
http://qt-project.org/imágenes/logo.pnghttp://qt-project.org/images/logo.png
http://qt-project.org/index.htmlimágenes/logo.pnghttp://qt-project.org/images/logo.png
http://qt-project.org/contentimágenes/logo.pnghttp://qt-project.org/content/images/logo.png
http://qt-project.org/content/imágenes/logo.pnghttp://qt-project.org/content/images/logo.png
http://qt-project.org/content/index.htmlimágenes/logo.pnghttp://qt-project.org/content/images/logo.png
http://qt-project.org/content/index.html../images/logo.pnghttp://qt-project.org/images/logo.png
http://qt-project.org/content/index.html/images/logo.pnghttp://qt-project.org/images/logo.png

El valor por defecto es la url del archivo QML que instancia el elemento Texto.

bottomPadding : real

leftPadding : real

padding : real

rightPadding : real

topPadding : real

Estas propiedades contienen el relleno alrededor del contenido. Este espacio se reserva además de contentWidth y contentHeight.

clip : bool

Esta propiedad indica si el texto está recortado.

Tenga en cuenta que si el texto no cabe en el rectángulo delimitador, se cortará bruscamente.

Si desea mostrar un texto potencialmente largo en un espacio limitado, probablemente prefiera utilizar elide.

color : color

El color del texto.

Ejemplo de texto verde definido mediante notación hexadecimal:

Text {
    color: "#00FF00"
    text: "green text"
}

Un ejemplo de texto azul acero definido utilizando un nombre de color SVG:

Text {
    color: "steelblue"
    text: "blue text"
}

contentHeight : real [read-only]

Devuelve la altura del texto, incluyendo la altura más allá de la altura que se cubre debido a que hay más texto del que cabe en la altura establecida.

contentWidth : real [read-only]

Devuelve la anchura del texto, incluyendo la anchura más allá de la anchura que se cubre debido a una envoltura insuficiente si se establece WrapMode.

effectiveHorizontalAlignment : enumeration [read-only]

horizontalAlignment : enumeration

verticalAlignment : enumeration

Establece la alineación horizontal y vertical del texto dentro de la anchura y altura de los elementos de texto. Por defecto, el texto se alinea verticalmente en la parte superior. La alineación horizontal sigue la alineación natural del texto, por ejemplo el texto que se lee de izquierda a derecha se alineará a la izquierda.

Los valores válidos para horizontalAlignment son Text.AlignLeft, Text.AlignRight, Text.AlignHCenter y Text.AlignJustify. Los valores válidos para verticalAlignment son Text.AlignTop, Text.AlignBottom y Text.AlignVCenter.

Tenga en cuenta que para una sola línea de texto, el tamaño del texto es el área del texto. En este caso común, todas las alineaciones son equivalentes. Si desea que el texto esté, digamos, centrado en su padre, entonces tendrá que modificar la propiedad Item::anchors, o establecer horizontalAlignment a Text.AlignHCenter y vincular el ancho al del padre.

Cuando utilice la propiedad adjunta LayoutMirroring::enabled para reflejar los diseños de la aplicación, la alineación horizontal del texto también se reflejará. Sin embargo, la propiedad horizontalAlignment permanecerá sin cambios. Para consultar la alineación horizontal efectiva del Texto, utilice la propiedad de sólo lectura effectiveHorizontalAlignment.

elide : enumeration

Establezca esta propiedad para elidir partes del texto que se ajusten a la anchura del elemento Texto. El texto sólo se elidirá si se ha establecido una anchura explícita.

Esta propiedad no puede utilizarse con texto enriquecido.

Se puede elidir:

ConstanteDescripción
Text.ElideNone- por defecto
Text.ElideLeft
Text.ElideMiddle
Text.ElideRight

Si esta propiedad está establecida a Text.ElideRight, puede ser utilizada con texto wrapped. El texto sólo se elide si maximumLineCount, o height se ha establecido. Si tanto maximumLineCount como height están establecidos, se aplicará maximumLineCount a menos que las líneas no quepan en la altura permitida.

Si el texto es una cadena de varias longitudes y el modo no es Text.ElideNone, se utilizará la primera cadena que quepa, de lo contrario se elidirá la última.

Las cadenas de longitud múltiple se ordenan de mayor a menor, separadas por el carácter Unicode "String Terminator" U009C (escríbalo en QML con "\u009C" o "\x9C").

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.MixedCaseel caso normal: no se aplica ningún cambio de mayúsculas
Font.AllUppercasealtera el texto para que se muestre todo 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
Text { 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 un nombre de 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.hintingPreference : enumeration

Establece la sugerencia preferida para el texto. Se trata de una sugerencia al sistema de renderizado de texto subyacente para que utilice un determinado nivel de sugerencia, y tiene soporte variable entre plataformas. Consulte la tabla en la documentación de QFont::HintingPreference para más detalles.

Nota: Esta propiedad sólo tiene efecto cuando se utiliza junto con el tipo de render Text.NativeRendering.

ConstanteDescripción
Font.PreferDefaultHintingUtiliza el nivel de sugerencia por defecto para la plataforma de destino.
Font.PreferNoHintingSi es posible, renderice el texto sin insinuar los contornos de los glifos. El diseño del texto será tipográficamente preciso, utilizando las mismas métricas que se utilizan, por ejemplo, al imprimir.
Font.PreferVerticalHintingSi es posible, represente el texto sin insinuación horizontal, pero alinee los glifos con la cuadrícula de píxeles en dirección vertical. El texto aparecerá más nítido en las pantallas en las que la densidad sea demasiado baja para ofrecer una representación precisa de los glifos. Pero como las métricas horizontales de los glifos no están insinuadas, el diseño del texto será escalable a dispositivos de mayor densidad (como impresoras) sin afectar a detalles como los saltos de línea.
Font.PreferFullHintingSi es posible, represente el texto con insinuación tanto en horizontal como en vertical. El texto se modificará para optimizar la legibilidad en el dispositivo de destino, pero como las métricas dependerán del tamaño de destino del texto, las posiciones de los glifos, los saltos de línea y otros detalles tipográficos no se escalarán, lo que significa que un diseño de texto puede tener un aspecto diferente en dispositivos con distintas densidades de píxeles.
Text { text: "Hello"; renderType: Text.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting }

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.

Text { 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, no es más que una característica 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.

Text { 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

El peso solicitado de la fuente. El peso solicitado debe ser un número entero entre 1 y 1000, o uno de los valores predefinidos:

ConstanteDescripción
Font.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400 (por defecto)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
Text { 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.

fontInfo.bold : bool [read-only]

El estado de negrita de la información de la fuente que se ha resuelto para la fuente actual y fontSizeMode. Esto es cierto si el peso de la fuente resuelta es negrita o superior.

fontInfo.family : string [read-only]

El nombre de la familia de la fuente que se ha resuelto para la fuente actual y fontSizeMode.

fontInfo.italic : bool [read-only]

El estado en cursiva de la información de la fuente que se ha resuelto para la fuente actual y fontSizeMode.

fontInfo.pixelSize : int [read-only]

El tamaño en píxeles de la información de la fuente que se ha resuelto para la fuente actual y fontSizeMode.

fontInfo.pointSize : real [read-only]

El pointSize de la información de la fuente que se ha resuelto para la fuente actual y fontSizeMode.

fontInfo.styleName : string [read-only]

El nombre del estilo de la información de la fuente que se ha resuelto para la fuente actual y fontSizeMode.

fontInfo.weight : int [read-only]

El peso de la información de la fuente que se ha resuelto para la fuente actual y fontSizeMode.

fontSizeMode : enumeration

Esta propiedad especifica cómo se determina el tamaño de la fuente del texto mostrado. Los valores posibles son:

ConstanteDescripción
Text.FixedSize(por defecto) Se utiliza el tamaño especificado por font.pixelSize o font.pointSize.
Text.HorizontalFitSe utiliza el tamaño más grande hasta el tamaño especificado que se ajuste a la anchura del elemento sin envolver.
Text.VerticalFitSe utiliza el tamaño más grande hasta el tamaño especificado que se ajuste a la altura del elemento.
Text.FitSe utiliza el tamaño más grande hasta el tamaño especificado que se ajusta a la anchura y altura del elemento.

El tamaño de fuente del texto ajustado tiene un límite mínimo especificado por las propiedades minimumPointSize o minimumPixelSize y un límite máximo especificado por las propiedades font.pointSize o font.pixelSize.

Text { text: "Hello"; fontSizeMode: Text.Fit; minimumPixelSize: 10; font.pixelSize: 72 }

Si el texto no cabe dentro de los límites del elemento con el tamaño de fuente mínimo, el texto se elidirá según la propiedad elide.

Si la propiedad textFormat se establece en Text.RichText, esto no tendrá ningún efecto, ya que la propiedad se ignorará por completo. Si textFormat se establece en Text.StyledText, la propiedad se respetará siempre que no haya etiquetas de tamaño de fuente dentro del texto. Si hay etiquetas de tamaño de fuente, la propiedad las respetará. Esto puede hacer que no cumpla completamente con el ajuste fontSizeMode.

Esta propiedad contiene la cadena del enlace cuando el usuario pasa el ratón sobre un enlace incrustado en el texto. El enlace debe estar en formato de texto enriquecido o HTML y la cadena hoveredLink proporciona acceso al enlace concreto.

Véase también linkHovered y linkAt().

lineCount : int [read-only]

Devuelve el número de líneas visibles en el elemento de texto.

Esta propiedad no es compatible con texto enriquecido.

Véase también maximumLineCount.

lineHeight : real

Establece la altura de línea para el texto. El valor puede ser en píxeles o un multiplicador dependiendo de lineHeightMode.

El valor por defecto es un multiplicador de 1.0. La altura de línea debe ser un valor positivo.

lineHeightMode : enumeration

Esta propiedad determina cómo se especifica la altura de la línea. Los valores posibles son:

ConstanteDescripción
Text.ProportionalHeight(por defecto) establece el interlineado proporcional a la línea (como un multiplicador). Por ejemplo, establece 2 para un interlineado doble.
Text.FixedHeightestablece la altura de línea a una altura de línea fija (en píxeles).

linkColor : color

El color de los enlaces en el texto.

Esta propiedad funciona con StyledText textFormat, pero no con RichText. El color de los enlaces en RichText puede especificarse incluyendo etiquetas de estilo CSS en el texto.

maximumLineCount : int

Establezca esta propiedad para limitar el número de líneas que mostrará el elemento de texto. Si elide es igual a Text.ElideRight, el texto será elidido apropiadamente. Por defecto, este es el valor del número entero más grande posible.

Esta propiedad no es compatible con texto enriquecido.

Véase también lineCount y elide.

minimumPixelSize : int

Esta propiedad especifica el tamaño mínimo en píxeles de la fuente del texto escalado por la propiedad fontSizeMode.

Si fontSizeMode es Text.FixedSize o font.pixelSize es -1, esta propiedad se ignora.

minimumPointSize : int

Esta propiedad especifica el punto de fuente mínimo size del texto escalado por la propiedad fontSizeMode.

Si fontSizeMode es Text.FixedSize o font.pointSize es -1 esta propiedad se ignora.

renderType : enumeration

Anula el tipo de renderizado por defecto de este componente.

Los tipos de representación soportados son:

ConstanteDescripción
Text.QtRenderingEl texto se renderiza utilizando un campo de distancia escalable para cada glifo.
Text.NativeRenderingEl texto se renderiza utilizando una técnica específica de la plataforma.
Text.CurveRenderingEl texto se renderiza utilizando un rasterizador de curvas que se ejecuta directamente en el hardware gráfico. (Introducido en Qt 6.7.0.)

Seleccione Text.NativeRendering si prefiere que el texto tenga un aspecto nativo en la plataforma de destino y no necesita funciones avanzadas como la transformación del texto. El uso de tales características en combinación con el tipo de renderizado NativeRendering dará resultados pobres y a veces pixelados.

Tanto Text.QtRendering como Text.CurveRendering son técnicas aceleradas por hardware. QtRendering es la más rápida de las dos, pero utiliza más memoria y mostrará artefactos de renderizado en tamaños grandes. CurveRendering debe considerarse como una alternativa en los casos en los que QtRendering no ofrezca buenos resultados visuales o en los que reducir el consumo de memoria gráfica sea una prioridad.

El tipo de renderizado por defecto viene determinado por QQuickWindow::textRenderType().

renderTypeQuality : int [since 6.0]

Anula la calidad del tipo de renderizado por defecto para este componente. Se trata de una personalización de bajo nivel que puede ignorarse en la mayoría de los casos. Actualmente sólo tiene efecto cuando renderType es Text.QtRendering.

El algoritmo de rasterización utilizado por Text.QtRendering puede dar artefactos en tamaños de texto grandes, como esquinas afiladas que parecen más redondas de lo que deberían. Si esto es un problema para determinados elementos de texto, aumente renderTypeQuality para mejorar la calidad del renderizado, a expensas del consumo de memoria.

renderTypeQuality puede ser cualquier número entero mayor que 0, o uno de los siguientes valores predefinidos

ConstanteDescripción
Text.DefaultRenderTypeQuality-1 (por defecto)
Text.LowRenderTypeQuality26
Text.NormalRenderTypeQuality52
Text.HighRenderTypeQuality104
Text.VeryHighRenderTypeQuality208

Esta propiedad se introdujo en Qt 6.0.

style : enumeration

Establece un estilo de texto adicional.

Los estilos de texto admitidos son:

ConstanteDescripción
Text.Normal- por defecto
Text.Outline
Text.Raised
Text.Sunken
Row {
    Text { font.pointSize: 24; text: "Normal" }
    Text { font.pointSize: 24; text: "Raised"; style: Text.Raised; styleColor: "#AAAAAA" }
    Text { font.pointSize: 24; text: "Outline";style: Text.Outline; styleColor: "red" }
    Text { font.pointSize: 24; text: "Sunken"; style: Text.Sunken; styleColor: "#AAAAAA" }
}

styleColor : color

Define el color secundario utilizado por los estilos de texto.

styleColor se utiliza como color de contorno para el texto contorneado, y como color de sombra para el texto en relieve o hundido. Si no se ha definido ningún estilo, no se utiliza.

Text { font.pointSize: 18; text: "hello"; style: Text.Raised; styleColor: "gray" }

Véase también style.

text : string

El texto a mostrar. El texto admite cadenas de texto simple y enriquecido.

El elemento intentará determinar automáticamente si el texto debe tratarse como texto con estilo. Esta determinación se realiza mediante Qt::mightBeRichText(). Sin embargo, la detección de Markdown no es automática.

Véase también textFormat.

textFormat : enumeration

La forma en que debe mostrarse la propiedad text.

Los formatos de texto soportados son:

ConstanteDescripción
Text.AutoText(por defecto) detectado mediante la heurística Qt::mightBeRichText()
Text.PlainTexttodas las etiquetas de estilo se tratan como texto sin formato
Text.StyledTexttexto enriquecido básico optimizado como en HTML 3.2
Text.RichTextun subconjunto de HTML 4
Text.MarkdownTextCommonMark más las extensiones de GitHub para tablas y listas de tareas (desde 5.14)

Si el formato del texto es Text.AutoText, el elemento Texto determinará automáticamente si el texto debe tratarse como texto con estilo. Esta determinación se realiza mediante Qt::mightBeRichText(), que puede detectar la presencia de una etiqueta HTML en la primera línea de texto, pero no puede distinguir Markdown del texto sin formato.

Text.StyledText es un formato optimizado que admite algunas marcas básicas de estilo de texto, al estilo de HTML 3.2:

<b></b> - bold
<del></del> - strike out (removed content)
<s></s> - strike out (no longer accurate or no longer relevant content)
<strong></strong> - bold
<i></i> - italic
<br> - new line
<p> - paragraph
<u> - underlined text
<font color="color_name" size="1-7"></font>
<h1> to <h6> - headers
<a href=""> - anchor
<img src="" align="top,middle,bottom" width="" height=""> - inline images
<ol type="">, <ul type=""> and <li> - ordered and unordered lists
<pre></pre> - preformatted
All entities

Text.StyledText El analizador sintáctico es estricto y exige que las etiquetas estén correctamente anidadas.

Column {
    Text {
        font.pointSize: 24
        text: "<b>Hello</b> <i>World!</i>"
    }
    Text {
        font.pointSize: 24
        textFormat: Text.RichText
        text: "<b>Hello</b> <i>World!</i>"
    }
    Text {
        font.pointSize: 24
        textFormat: Text.PlainText
        text: "<b>Hello</b> <i>World!</i>"
    }
    Text {
        font.pointSize: 24
        textFormat: Text.MarkdownText
        text: "**Hello** *World!*"
    }
}

Text.RichText soporta un subconjunto mayor de HTML 4, como se describe en la página Subconjunto de HTML soportado. Es preferible utilizar Text.PlainText, Text.StyledText o Text.MarkdownText, ya que ofrecen un mejor rendimiento.

Nota: Con Text.MarkdownText, y con el subconjunto de HTML soportado, algunos elementos decorativos no se renderizan como lo harían en un navegador web:

  • los bloques de código utilizan default monospace font pero sin un cuadro de resaltado alrededor
  • las comillas de bloque están sangradas, pero no hay línea vertical junto a la comilla

Advertencia: Cuando el formato de texto es cualquier otro que Text.PlainText, soportará características de texto enriquecido como el cambio de colores, estilos de fuente e imágenes en línea. Esto incluye la carga remota de imágenes a través de la red. Por lo tanto, cuando se muestre contenido controlado por el usuario que no sea de confianza, el textFormat debe establecerse explícitamente en Text.PlainText, o el contenido debe ser despojado de etiquetas no deseadas.

truncated : bool [read-only]

Devuelve true si el texto ha sido truncado debido a maximumLineCount o elide.

Esta propiedad no es compatible con texto enriquecido.

Véase también maximumLineCount y elide.

wrapMode : enumeration

Establece esta propiedad para ajustar el texto a la anchura del elemento Texto. El texto sólo se ajustará si se ha establecido una anchura explícita. wrapMode puede ser una de las siguientes opciones:

ConstanteDescripción
Text.NoWrap(por defecto) el texto no se ajusta. Si el texto no contiene suficientes nuevas líneas, entonces contentWidth excederá el ancho establecido.
Text.WordWrapEl ajuste se realiza sólo en los límites de palabra. Si una palabra es demasiado larga, contentWidth excederá el ancho establecido.
Text.WrapAnywhereel ajuste se realiza en cualquier punto de la línea, incluso si se produce en medio de una palabra.
Text.Wrapsi es posible, el ajuste se produce en el límite de una palabra; de lo contrario, se producirá en el punto apropiado de la línea, incluso en medio de una palabra.

Documentación de la señal

lineLaidOut(object line)

Esta señal se emite por cada línea de texto que se maqueta durante el proceso de maquetación en modo texto plano o texto con estilo. No se emite en modo texto enriquecido. El objeto line especificado proporciona más detalles sobre la línea que se está maquetando en ese momento.

Permite posicionar y redimensionar una línea mientras se está maquetando. Puede utilizarse, por ejemplo, para crear columnas o colocar texto alrededor de objetos.

Las propiedades del objeto line especificado son:

Nombre de la propiedadDescripción
número (sólo lectura)Número de línea, empieza por cero.
xEspecifica la posición x de la línea dentro del elemento Text.
yIndica la posición y de la línea dentro del elemento Text.
anchuraIndica la anchura de la línea.
alturaIndica la altura de la línea.
anchura implícita (sólo lectura)La anchura que la línea ocuparía de forma natural en función de su contenido, sin tener en cuenta las modificaciones realizadas en la anchura.
isLast (sólo lectura)Si la línea es la última. Esta propiedad puede cambiar si establece la propiedad width a un valor diferente.

Por ejemplo, esto moverá las 5 primeras líneas de un elemento Texto 100 píxeles a la derecha:

onLineLaidOut: (line)=> {
    if (line.number < 5) {
        line.x = line.x + 100
        line.width = line.width - 100
    }
}

El siguiente ejemplo le permitirá posicionar un elemento al final de la última línea:

onLineLaidOut: (line)=> {
    if (line.isLast) {
        lastLineMarker.x = line.x + line.implicitWidth
        lastLineMarker.y = line.y + (line.height - lastLineMarker.height) / 2
    }
}

Nota: El manejador correspondiente es onLineLaidOut.

linkActivated(string link)

Esta señal se emite cuando el usuario pulsa sobre un enlace incrustado en el texto. El enlace debe estar en formato de texto enriquecido o HTML y la cadena link proporciona acceso al enlace concreto.

    Text {
            textFormat: Text.RichText
            text: "See the <a href=\"http://qt-project.org\">Qt Project website</a>."
            onLinkActivated: (link)=> console.log(link + " link activated")
    }

El código de ejemplo mostrará el texto "Ver el sitio web del Proyecto Qt".

Al hacer clic en el enlace resaltado aparecerá http://qt-project.org link activated en la consola.

Nota: El manejador correspondiente es onLinkActivated.

linkHovered(string link)

Esta señal se emite cuando el usuario pasa el ratón sobre un enlace incrustado en el texto. El enlace debe estar en formato de texto enriquecido o HTML y la cadena link proporciona acceso al enlace concreto.

Nota: El manejador correspondiente es onLinkHovered.

Véase también hoveredLink y linkAt().

Documentación del método

void forceLayout()

Activa la redistribución del texto mostrado.

string linkAt(real x, real y)

Devuelve la cadena del enlace en el punto x, y en coordenadas de contenido, o una cadena vacía si no existe ningún enlace en ese punto.

Véase también hoveredLink.

© 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.