En esta página

TextInput QML Type

Muestra una línea de texto editable. Más...

Import Statement: import QtQuick
Inherits:

Item

Inherited By:

TextField

Propiedades

Señales

Métodos

Descripción detallada

El tipo TextInput muestra una única línea de texto plano editable.

TextInput se utiliza para aceptar una línea de entrada de texto. Las restricciones de entrada se pueden colocar en un elemento TextInput (por ejemplo, a través de validator o inputMask), y el establecimiento de echoMode a un valor apropiado permite TextInput ser utilizado para un campo de entrada de contraseña.

Para reaccionar a la aceptación de texto por parte del usuario a través de las teclas Return o Enter, maneje la señal accepted(). Cuando se pulsa Return o Enter y la entrada de texto pierde el foco, se emite editingFinished(). Cuando el texto es editado de cualquier forma por el usuario, se emite textEdited(). Estas señales deberían preferirse a textChanged() en la mayoría de los casos.

En macOS, las teclas Arriba/Abajo para Inicio/Fin están explícitamente desactivadas. Si quieres estos enlaces (en cualquier plataforma), tendrás que construirlos en QML.

Véase también TextEdit y Text.

Documentación de propiedades

acceptableInput : bool [read-only]

Esta propiedad es siempre verdadera a menos que se haya establecido un validador o una máscara de entrada. Si se ha establecido un validador o una máscara de entrada, esta propiedad sólo será verdadera si el texto actual es aceptable para el validador o la máscara de entrada como cadena final (no como cadena intermedia).

activeFocusOnPress : bool

Si TextInput debe obtener el foco activo al pulsar con el ratón. Por defecto se establece en true.

autoScroll : bool

Si TextInput debe desplazarse cuando el texto es más largo que la anchura. Por defecto se establece en true.

Véase también ensureVisible().

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 los de contentWidth y contentHeight.

Las propiedades de relleno individuales asumen el valor de la propiedad padding a menos que se establezcan explícitamente. Por ejemplo, si padding se establece en 4 y leftPadding en 8, 8 se utilizará como relleno izquierdo.

Nota: Si se asigna una anchura o altura explícitas a TextInput, hay que asegurarse de que es lo suficientemente grande como para acomodar los valores de relleno correspondientes. Por ejemplo: si topPadding y bottomPadding se ajustan a 10, pero la altura de TextInput sólo se ajusta a 20, el texto no tendrá suficiente espacio vertical para ser representado y aparecerá recortado.

canPaste : bool [read-only]

Devuelve true si TextInput es escribible y el contenido del portapapeles es apto para ser pegado en TextInput.

canRedo : bool [read-only]

Devuelve true si el TextInput es escribible y hay undone operaciones que pueden ser rehechas.

canUndo : bool [read-only]

Devuelve true si se puede escribir en TextInput y hay operaciones previas que se pueden deshacer.

color : color

El color del texto.

contentHeight : real [read-only]

Devuelve la altura del texto, incluyendo la altura más allá de la altura que se cubre si el texto no cabe dentro de la altura establecida.

contentWidth : real [read-only]

Devuelve la anchura del texto, incluida la anchura más allá de la anchura que se cubre debido a una envoltura insuficiente si wrapMode está configurado.

cursorDelegate : Component

El delegado para el cursor en TextInput.

Si estableces un cursorDelegate para un TextInput, este delegado se utilizará para dibujar el cursor en lugar del cursor estándar. Se creará una instancia del delegado que será gestionada por TextInput cuando se necesite un cursor, y la propiedad x de la instancia del delegado se establecerá de forma que esté un píxel antes de la parte superior izquierda del carácter actual.

Tenga en cuenta que el elemento raíz del componente delegado debe ser un elemento derivado de QQuickItem o QQuickItem.

cursorPosition : int

La posición del cursor en TextInput. El cursor se sitúa entre caracteres.

Nota: Los caracteres en este caso se refieren a la cadena de objetos QChar, por lo tanto caracteres Unicode de 16 bits, y la posición se considera un índice dentro de esta cadena. Esto no corresponde necesariamente a grafemas individuales del sistema de escritura, ya que un mismo grafema puede estar representado por varios caracteres Unicode, como en el caso de los pares sustitutos, las ligaduras lingüísticas o los diacríticos.

displayText es diferente si echoMode se establece en TextInput.Password: entonces cada passwordCharacter es un carácter "estrecho" (la cursorPosition siempre se mueve en 1), incluso si el texto en el TextInput no lo es.

cursorRectangle : rectangle [read-only]

El rectángulo donde se representa el cursor de texto estándar dentro de la entrada de texto. Sólo lectura.

La posición y la altura de un cursorDelegate personalizado se actualizan para seguir el cursorRectangle automáticamente cuando cambia. La anchura del delegado no se ve afectada por los cambios en el rectángulo del cursor.

cursorVisible : bool

Se establece en true cuando TextInput muestra un cursor.

Esta propiedad se activa y desactiva cuando TextInput obtiene el foco activo, de modo que otras propiedades pueden ser vinculadas a si el cursor se está mostrando en ese momento. Como se establece y desestablece automáticamente, cuando establezcas el valor tú mismo debes tener en cuenta que tu valor puede ser sobrescrito.

Puede establecerse directamente en el script, por ejemplo si un KeyProxy puede reenviarle teclas y deseas que parezca activo cuando esto ocurra (pero sin darle realmente el foco activo).

No debe establecerse directamente en el elemento, como en el siguiente QML, ya que el valor especificado se anulará y se perderá al cambiar el foco.

TextInput {
    text: "Text"
    cursorVisible: false
}

En el fragmento anterior, el cursor seguirá siendo visible cuando TextInput obtenga el foco activo.

displayText : string [read-only]

Es el texto que aparece en TextInput.

Si echoMode tiene el valor TextInput::Normal, tendrá el mismo valor que la propiedad TextInput::text. En caso contrario, esta propiedad contiene el texto visible para el usuario, mientras que la propiedad text contiene el texto introducido.

Nota: A diferencia de la propiedad TextInput::text, esta propiedad contiene texto parcial introducido desde un método de entrada.

Véase también preeditText.

echoMode : enumeration

Especifica cómo debe mostrarse el texto en TextInput.

ConstanteDescripción
TextInput.NormalMuestra el texto tal cual. (Predeterminado)
TextInput.PasswordMuestra passwordCharacter en lugar de los caracteres reales. Durante la edición, los caracteres recién introducidos se muestran en texto claro durante un breve periodo especificado por la propiedad passwordMaskDelay.
TextInput.NoEchoNo muestra nada.
TextInput.PasswordEchoOnEditEl contenido se enmascara como en TextInput.Password. Durante la edición, los caracteres recién introducidos se muestran en texto claro mientras TextInput tenga el foco activo.

effectiveHorizontalAlignment : enumeration [read-only]

Al utilizar la propiedad adjunta LayoutMirroring::enabled para reflejar diseños de aplicaciones, la alineación horizontal del texto también se reflejará. Sin embargo, la propiedad horizontalAlignment permanecerá inalterada. Para consultar la alineación horizontal efectiva de TextInput, utilice la propiedad de sólo lectura effectiveHorizontalAlignment.

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
TextInput { 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.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 renderizado TextInput.NativeRendering.

ConstanteDescripción
Font.PreferDefaultHintingUtiliza el nivel de sugerencia predeterminado 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.
TextInput { text: "Hello"; renderType: TextInput.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.

TextInput { 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.

TextInput { 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 proporcionando 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
TextInput { 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.

horizontalAlignment : enumeration

verticalAlignment : enumeration

Establece la alineación horizontal del texto dentro de la anchura y altura del elemento TextInput. Por defecto, la alineación del texto sigue la alineación natural del texto, por ejemplo el texto que se lee de izquierda a derecha se alineará a la izquierda.

TextInput no tiene alineación vertical, ya que la altura natural es exactamente la altura de la única línea de texto. Si ajusta manualmente la altura a algo mayor, TextInput siempre estará alineado verticalmente en la parte superior. Puedes usar anclas para alinearlo como quieras dentro de otro elemento.

Los valores válidos para horizontalAlignment son TextInput.AlignLeft, TextInput.AlignRight y TextInput.AlignHCenter.

Los valores válidos para verticalAlignment son TextInput.AlignTop (por defecto), TextInput.AlignBottom TextInput.AlignVCenter .

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

inputMask : string

Le permite establecer una máscara de entrada en TextInput, restringiendo las entradas de texto permitidas. Consulte QLineEdit::inputMask para más detalles, ya que TextInput utiliza exactamente las mismas cadenas de máscara.

Véase también acceptableInput y validator.

inputMethodComposing : bool [read-only]

Esta propiedad mantiene si el TextInput tiene entrada de texto parcial de un método de entrada.

Mientras se está componiendo un método de entrada puede depender de eventos de ratón o tecla de TextInput para editar o confirmar el texto parcial. Esta propiedad puede ser utilizada para determinar cuando desactivar los manejadores de eventos que puedan interferir con el correcto funcionamiento de un método de entrada.

inputMethodHints : enumeration

Proporciona sugerencias al método de entrada sobre el contenido esperado de la entrada de texto y cómo debería funcionar.

El valor es una combinación de bit a bit de flags, o Qt.ImhNone si no hay ninguna sugerencia.

Los indicadores que alteran el comportamiento son:

ConstanteDescripción
Qt.ImhHiddenTextLos caracteres deben ocultarse, como se usa típicamente cuando se introducen contraseñas.
Qt.ImhSensitiveDataEl texto tecleado no debería ser almacenado por el método de entrada activo en ningún almacenamiento persistente como el diccionario predictivo del usuario.
Qt.ImhNoAutoUppercaseEl método de entrada no debe intentar cambiar automáticamente a mayúsculas cuando termina una frase.
Qt.ImhPreferNumbersSe prefieren los números (pero no son obligatorios).
Qt.ImhPreferUppercaseSe prefieren las mayúsculas (pero no son obligatorias).
Qt.ImhPreferLowercaseSe prefieren las minúsculas (pero no son obligatorias).
Qt.ImhNoPredictiveTextNo utilice el texto predictivo (es decir, la búsqueda en el diccionario) mientras escribe.
Qt.ImhDateEl editor de texto funciona como un campo de fecha.
Qt.ImhTimeEl editor de texto funciona como un campo de hora.

Las banderas que restringen la entrada (banderas exclusivas) son:

ConstanteDescripción
Qt.ImhDigitsOnlySólo se permiten dígitos.
Qt.ImhFormattedNumbersOnlySólo se permite la introducción de números. Esto incluye el punto decimal y el signo menos.
Qt.ImhUppercaseOnlySólo se permite la introducción de letras mayúsculas.
Qt.ImhLowercaseOnlySólo se permite la introducción de letras minúsculas.
Qt.ImhDialableCharactersOnlySólo se permiten caracteres adecuados para la marcación telefónica.
Qt.ImhEmailCharactersOnlySólo se permiten caracteres adecuados para direcciones de correo electrónico.
Qt.ImhUrlCharactersOnlySólo se permiten caracteres adecuados para URL.

Máscaras:

ConstanteDescripción
Qt.ImhExclusiveInputMaskEsta máscara devuelve un valor distinto de cero si se utiliza alguna de las banderas exclusivas.

length : int [read-only]

Devuelve el número total de caracteres del elemento TextInput.

Si el TextInput tiene un inputMask la longitud incluirá caracteres de máscara y puede diferir de la longitud de la cadena devuelta por la propiedad text.

Esta propiedad puede ser más rápida que la consulta de la longitud de la propiedad text, ya que no requiere ninguna copia o conversión de los datos de cadena internos de TextInput.

maximumLength : int

La longitud máxima permitida del texto en TextInput.

Si el texto es demasiado largo, se trunca en el límite.

Por defecto, esta propiedad contiene un valor de 32767.

mouseSelectionMode : enumeration

Especifica cómo debe seleccionarse el texto con el ratón.

ConstanteDescripción
TextInput.SelectCharacters(por defecto) La selección se actualiza con caracteres individuales.
TextInput.SelectWordsLa selección se actualiza con palabras completas.

Esta propiedad sólo se aplica cuando selectByMouse es verdadero.

overwriteMode : bool

Si el texto introducido por el usuario sobrescribirá el texto existente.

Como ocurre con muchos editores de texto, el widget del editor de texto puede configurarse para insertar o sobrescribir el texto existente con el nuevo texto introducido por el usuario.

Si esta propiedad es true, el texto existente se sobrescribe, carácter por carácter por el nuevo texto; en caso contrario, el texto se inserta en la posición del cursor, desplazando el texto existente.

Por defecto, esta propiedad es false (el texto nuevo no sobrescribe el texto existente).

passwordCharacter : string

Este es el carácter que se muestra cuando echoMode está configurado como Password o PasswordEchoOnEdit. Por defecto es el carácter de contraseña utilizado por el tema de la plataforma.

Si esta propiedad se establece en una cadena con más de un carácter, se utiliza el primer carácter. Si la cadena está vacía, el valor se ignora y la propiedad no se establece.

passwordMaskDelay : int

Establece el retardo antes de que el carácter visible se enmascare con el carácter de contraseña, en milisegundos.

Se llamará al método reset asignando undefined.

persistentSelection : bool

Si TextInput debe mantener su selección cuando pierda el foco activo en otro elemento de la escena. Por defecto se establece en false;

preeditText : string [read-only]

Esta propiedad contiene texto parcial de un método de entrada.

Para desactivar el texto parcial resultante de las predicciones, active el indicador Qt.ImhNoPredictiveText en inputMethodHints.

Véase también displayText y inputMethodHints.

readOnly : bool

Establece si la entrada del usuario puede modificar el contenido de TextInput.

Si readOnly es true, la entrada del usuario no afectará a la propiedad text. Cualquier vinculación o intento de establecer la propiedad text seguirá funcionando.

renderType : enumeration

Anula el tipo de renderizado por defecto de este componente.

Los tipos de representación soportados son:

ConstanteDescripción
TextInput.QtRenderingEl texto se renderiza utilizando un campo de distancia escalable para cada glifo.
TextInput.NativeRenderingEl texto se renderiza utilizando una técnica específica de la plataforma.
TextInput.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 TextInput.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 TextInput.QtRendering como TextInput.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().

selectByMouse : bool

Por defecto true.

Si es true, el usuario puede utilizar el ratón para seleccionar texto de la forma habitual.

Nota: En versiones anteriores a la 6.4, el valor por defecto era false; pero si se activaba esta propiedad, también se podía seleccionar texto en una pantalla táctil arrastrando el dedo por ella. Esto interfería con el desplazamiento cuando se utilizaba TextInput dentro de un Flickable. Por coherencia con TextField, selectByMouse ahora significa realmente lo que dice: si true, puede seleccionar texto arrastrando sólo con un ratón. Si este cambio no se adapta a su aplicación, puede establecer selectByMouse en false, o importar una versión anterior de la API (por ejemplo import QtQuick 6.3) para volver al comportamiento anterior. La opción de revertir el comportamiento cambiando la versión de importación se eliminará en una versión posterior de Qt.

selectedText : string [read-only]

Esta propiedad de sólo lectura proporciona el texto seleccionado actualmente en la entrada de texto.

Es equivalente al siguiente fragmento, pero es más rápido y fácil de usar.

myTextInput.text.toString().substring(myTextInput.selectionStart,
    myTextInput.selectionEnd);

selectedTextColor : color

El color del texto resaltado, utilizado en las selecciones.

selectionColor : color

El color de resaltado del texto, utilizado detrás de las selecciones.

selectionEnd : int [read-only]

La posición del cursor después del último carácter de la selección actual.

Esta propiedad es de sólo lectura. Para cambiar la selección, utilice select(inicio,fin), selectAll(), o selectWord().

Véase también selectionStart, cursorPosition, y selectedText.

selectionStart : int [read-only]

La posición del cursor antes del primer carácter de la selección actual.

Esta propiedad es de sólo lectura. Para cambiar la selección, utilice select(inicio,fin), selectAll(), o selectWord().

Véase también selectionEnd, cursorPosition, y selectedText.

text : string

El texto que aparece en TextInput.

Tenga en cuenta que algunos teclados utilizan una función predictiva. En este caso, el texto compuesto por el método de entrada no forma parte de esta propiedad. La parte del texto relacionada con las predicciones se subraya y se almacena en la propiedad preeditText. Para obtener el texto completo mostrado en TextInput utilice la propiedad displayText.

Véase también clear(), displayText, preeditText, accepted(), editingFinished(), y textEdited().

validator : Validator

Le permite establecer un validador en TextInput. Cuando se establece un validador, TextInput sólo aceptará entradas que dejen la propiedad de texto en un estado aceptable o intermedio. La señal de aceptado sólo se enviará si el texto está en un estado aceptable cuando se pulse intro.

Los validadores actualmente soportados son IntValidator, DoubleValidator y RegularExpressionValidator. A continuación se muestra un ejemplo de uso de validadores, que permite la introducción de enteros entre 11 y 31 en la entrada de texto:

import QtQuick 2.0
TextInput{
    validator: IntValidator{bottom: 11; top: 31;}
    focus: true
}

Véase también acceptableInput y inputMask.

wrapMode : enumeration

Establezca esta propiedad para ajustar el texto a la anchura del elemento TextInput. El texto sólo se ajustará si se ha establecido una anchura explícita.

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

El valor predeterminado es TextInput.NoWrap. Si establece un ancho, considere el uso de TextInput.Wrap.

Documentación de señales

accepted()

Esta señal se emite cuando se pulsa la tecla Retorno o Intro. Tenga en cuenta que si hay un validator o inputMask establecido en la entrada de texto, la señal sólo se emitirá si la entrada está en un estado aceptable.

Nota: El manejador correspondiente es onAccepted.

Véase también editingFinished() y textEdited().

editingFinished()

Esta señal se emite cuando se pulsa la tecla Intro o Retorno o la entrada de texto pierde el foco. Tenga en cuenta que si hay un validador o inputMask configurado en la entrada de texto y se pulsa Intro/Retorno, esta señal sólo se emitirá si la entrada sigue el inputMask y el validador devuelve un estado aceptable.

Nota: El manejador correspondiente es onEditingFinished.

Véase también accepted() y textEdited().

textEdited()

Esta señal se emite cada vez que se edita el texto. A diferencia de textChanged(), esta señal no se emite cuando el texto se modifica mediante programación, por ejemplo, cambiando el valor de la propiedad text o llamando a clear().

Nota: El manejador correspondiente es onTextEdited.

Véase también accepted() y editingFinished().

Documentación del método

void clear()

Borra el contenido de la entrada de texto y restablece la entrada de texto parcial de un método de entrada.

Utilice este método en lugar de establecer la propiedad text a una cadena vacía.

Véase también QInputMethod::reset().

void copy()

Copia el texto actualmente seleccionado en el portapapeles del sistema.

Nota: Si el modo de eco está configurado en un modo distinto de Normal, la copia no funcionará. Esto es para evitar el uso de la copia como un método para eludir las funciones de contraseña del control de línea.

void cut()

Mueve el texto actualmente seleccionado al portapapeles del sistema.

Nota: Si el modo eco está configurado en un modo distinto de Normal, cortar no funcionará. Esto es para evitar el uso de cortar como un método para eludir las funciones de contraseña del control de línea.

void deselect()

Elimina la selección de texto activa.

void ensureVisible(int position)

Desplaza el contenido de la entrada de texto para que el carácter especificado position sea visible dentro de los límites de la entrada de texto.

Véase también autoScroll.

string getText(int start, int end)

Devuelve la sección de texto que se encuentra entre las posiciones start y end.

Si el TextInput tiene un inputMask la longitud incluirá caracteres de máscara.

void insert(int position, string text)

Inserta text en TextInput en position.

bool isRightToLeft(int start, int end)

Devuelve true si la dirección natural de lectura del texto del editor que se encuentra entre las posiciones start y end es de derecha a izquierda.

void moveCursorSelection(int position, SelectionMode mode)

Mueve el cursor a position y actualiza la selección según el parámetro opcional mode. (Para mover sólo el cursor, establezca la propiedad cursorPosition ).

Cuando se llama a este método, adicionalmente establece selectionStart o selectionEnd (el que estuviera en la posición anterior del cursor) en la posición especificada. Esto le permite extender y contraer fácilmente el rango de texto seleccionado.

El modo de selección especifica si la selección se actualiza por carácter o por palabra. Si no se especifica, el modo de selección será por defecto TextInput.SelectCharacters.

ConstanteDescripción
TextInput.SelectCharactersPone selectionStart o selectionEnd (el que estuviera en la posición anterior del cursor) en la posición especificada.
TextInput.SelectWordsEstablece selectionStart y selectionEnd para incluir todas las palabras entre la posición especificada y la posición anterior del cursor. Se incluyen las palabras que se encuentren parcialmente en el intervalo.

Por ejemplo, tome esta secuencia de llamadas:

cursorPosition = 5
moveCursorSelection(9, TextInput.SelectCharacters)
moveCursorSelection(7, TextInput.SelectCharacters)

Esto mueve el cursor a la posición 5, extiende el extremo de selección de 5 a 9 y luego retrae el extremo de selección de 9 a 7, dejando el texto de la posición 5 a 7 seleccionado (los caracteres 6 y 7).

La misma secuencia con TextInput.SelectWords extenderá el inicio de la selección a un límite de palabra antes o en la posición 5 y extenderá el final de la selección a un límite de palabra en o después de la posición 9.

void paste()

Sustituye el texto actualmente seleccionado por el contenido del portapapeles del sistema.

int positionAt(real x, real y, CursorPosition position)

Esta función devuelve la posición del carácter en x y y píxeles desde la parte superior izquierda del textInput. La posición 0 es antes del primer carácter, la posición 1 es después del primer carácter pero antes del segundo, y así sucesivamente hasta la posición text.length, que es después de todos los caracteres.

Esto significa que para todos los valores x antes del primer carácter esta función devuelve 0, y para todos los valores x después del último carácter esta función devuelve text.length. Si el valor y está por encima del texto la posición será la del carácter más cercano de la primera línea y si está por debajo del texto se devolverá la posición del carácter más cercano de la última línea.

El parámetro cursor position especifica cómo debe resolverse la posición del cursor:

ConstanteDescripción
TextInput.CursorBetweenCharactersDevuelve la posición entre caracteres más cercana a x. Este es el valor por defecto.
TextInput.CursorOnCharacterDevuelve la posición antes del carácter más cercano a x.

rect positionToRectangle(int pos)

Esta función toma una posición de carácter pos y devuelve el rectángulo que ocuparía el cursor, si estuviera situado en esa posición de carácter.

Esto es similar a establecer el cursorPosition, y luego consultar el rectángulo del cursor, pero el cursorPosition no se cambia.

void redo()

Rehace la última operación si rehacer es available.

void remove(int start, int end)

Elimina la sección de texto que se encuentra entre las posiciones start y end de TextInput.

void select(int start, int end)

Hace que se seleccione el texto de start a end.

Si el inicio o el final están fuera del rango, la selección no se modifica.

Después de llamar a esto, selectionStart se convertirá en el menor y selectionEnd se convertirá en el mayor (independientemente del orden pasado a este método).

Véase también selectionStart y selectionEnd.

void selectAll()

Hace que se seleccione todo el texto.

void selectWord()

Hace que se seleccione la palabra más cercana a la posición actual del cursor.

void undo()

Deshace la última operación si deshacer es available. Deselecciona cualquier selección actual y actualiza el inicio de la selección a la posición actual del cursor.

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