Spec-Zone.ru › Qt 5.9

Тип QML TextInput

Отображает редактируемую строку текста Подробнее...

Заявление об импорте: import QtQuick 2.7
Наследует:

Элемент

Наследует от:

TextField

  • Список всех членов, включая унаследованные

Свойства

  • acceptableInput : bool
  • activeFocusOnPress : bool
  • autoScroll : bool
  • bottomPadding : real
  • canPaste : bool
  • canRedo : bool
  • canUndo : bool
  • цвет : цвет
  • высота_содержимого : real
  • ширина_содержимого : real
  • cursorDelegate : Компонент
  • позиция_курсора : int
  • прямоугольник_курсора : прямоугольник
  • видимость_курсора : bool
  • отображаемый_текст : строка
  • режим_эха : перечисление
  • эффективное_горизонтальное_выравнивание : перечисление
  • шрифт.жирный : bool
  • шрифт.заглавные_буквы : перечисление
  • шрифт.семья : строка
  • шрифт.предпочтение_распознавания : перечисление
  • шрифт.курсив : bool
  • шрифт.расстояние_между_буквами : real
  • шрифт.размер_в_пикселях : int
  • шрифт.размер_в_пунктах : real
  • шрифт.зачеркнутый : bool
  • шрифт.имя_стиля : строка
  • шрифт.подчеркнутый : bool
  • шрифт.жирность : перечисление
  • шрифт.расстояние_между_словами : real
  • горизонтальное_выравнивание : перечисление
  • маска_ввода : строка
  • ввод_метода_составления : bool
  • подсказки_метода_ввода : перечисление
  • отступ_слева : real
  • длина : int
  • максимальная_длина : int
  • режим_выделения_мышью : перечисление
  • режим_перезаписи : bool
  • отступ : real
  • символ_пароля : строка
  • задержка_маски_пароля : int
  • постоянное_выделение : bool
  • предварительный_текст : строка
  • только_чтение : bool
  • тип_рендеринга : перечисление
  • отступ_справа : real
  • выделение_мышью : bool
  • выделенный_текст : строка
  • цвет_выделенного_текста : цвет
  • цвет_выделения : цвет
  • конец_выделения : int
  • начало_выделения : int
  • текст : строка
  • отступ_сверху : real
  • валидатор : Валидатор
  • вертикальное_выравнивание : перечисление
  • режим_переноса : перечисление

Сигналы

  • принято()
  • редактирование_завершено()
  • текст_отредактирован()

Методы

  • очистить()
  • скопировать()
  • вырезать()
  • отменить_выделение()
  • обеспечить_видимость(int позиция)
  • строка получить_текст(int начало, int конец)
  • вставить(int позиция, строка текст)
  • является_справа_налево(int начало, int конец)
  • переместить_выделение_курсора(int позиция, Режим_выделения режим)
  • вставить()
  • int позиция_в(real x, real y, Позиция_курсора позиция)
  • прямоугольник позиция_в_прямоугольник(int позиция)
  • повторить()
  • удалить(int начало, int конец)
  • выделить(int начало, int конец)
  • выделить_все()
  • выделить_слово()
  • отменить()

Подробное описание

Тип TextInput отображает одну строку редактируемого простого текста.

TextInput используется для приема строки входного текста. Ограничения на ввод могут быть наложены на элемент TextInput (например, через валидатор или маску_ввода), и установка режим_эха на соответствующее значение позволяет использовать TextInput для поля ввода пароля.

В macOS сочетания клавиш Up/Down для Home/End явно отключены. Если вам нужны такие сочетания (на любой платформе), вам необходимо создать их в QML.

См. также TextEdit и Text.

Документация по свойствам

acceptableInput : bool

Это свойство всегда истинно, если не установлен валидатор или маска ввода. Если валидатор или маска ввода установлены, это свойство будет истинным только в том случае, если текущий текст приемлем для валидатора или маски ввода как окончательная строка (а не как промежуточная строка).

activeFocusOnPress : bool

Нужно ли элементу TextInput получить активный фокус при нажатии мышью. По умолчанию это значение установлено в true.

autoScroll : bool

Нужно ли элементу TextInput прокручивать при длине текста, превышающей ширину. По умолчанию это значение установлено в true.

См. также ensureVisible().

bottomPadding : real

Эти свойства задают отступы вокруг содержимого. Это пространство зарезервировано дополнительно к contentWidth и contentHeight.

Это свойство QML было добавлено в Qt 5.6.

canPaste : bool

Возвращает true, если TextInput разрешает запись и содержимое буфера обмена подходит для вставки в TextInput.

canRedo : bool

Возвращает true, если TextInput разрешает запись и существуют отменённые операции, которые могут быть повторены.

canUndo : bool

Возвращает true, если TextInput разрешает запись и существуют предыдущие операции, которые могут быть отменены.

color : color

Цвет текста.

contentHeight : real

Возвращает высоту текста, включая высоту, превышающую высоту, которая отображается, если текст не помещается в заданную высоту.

contentWidth : real

Возвращает ширину текста, включая ширину, превышающую ширину, которая отображается из-за недостаточного перевода, если wrapMode задан.

cursorDelegate : Component

Делегат для курсора в TextInput.

Если вы задаёте cursorDelegate для TextInput, этот делегат будет использоваться для отрисовки курсора вместо стандартного курсора. Экземпляр делегата будет создан и управляться TextInput, когда курсор необходим, а свойство x экземпляра делегата будет установлено так, чтобы находиться на один пиксель перед левым верхним углом текущего символа.

Обратите внимание, что корневой элемент компонента делегата должен быть элементом QQuickItem или элементом, производным от QQuickItem.

cursorPosition : int

Позиция курсора в TextInput.

cursorRectangle : rectangle

Прямоугольник, в котором отображается стандартный курсор текста в текстовом поле. Только для чтения.

Положение и высота настраиваемого cursorDelegate обновляются для соответствия cursorRectangle автоматически при его изменении. Ширина делегата не изменяется при изменении прямоугольника курсора.

cursorVisible : bool

Устанавливается в true, когда в TextInput отображается курсор.

Это свойство устанавливается и сбрасывается, когда TextInput получает фокус, так что другие свойства могут быть связаны с тем, отображается ли курсор в данный момент. Поскольку оно устанавливается и сбрасывается автоматически, при самостоятельной установке значения необходимо учитывать, что ваше значение может быть перезаписано.

Его можно установить напрямую в скрипте, например, если KeyProxy может пересылать ему клавиши, и вы хотите, чтобы он выглядел активным, когда это происходит (но без фактического получения им активного фокуса).

Его не следует устанавливать непосредственно в элементе, как в приведённом ниже QML, так как указанное значение будет перезаписано и потеряно при изменении фокуса.

TextInput {
    text: "Text"
    cursorVisible: false
}

В приведенном выше фрагменте курсор по-прежнему будет отображаться, когда TextInput получит активный фокус.

[только для чтения] displayText : string

Это текст, отображаемый в TextInput.

Если echoMode установлен в TextInput::Normal, это свойство имеет такое же значение, как и свойство TextInput::text. В противном случае это свойство содержит текст, видимый пользователю, в то время как свойство text содержит фактический введённый текст.

Примечание: В отличие от свойства TextInput::text, оно содержит частичный ввод текста от метода ввода.

См. также preeditText.

echoMode : перечисление

Определяет, как текст должен отображаться в TextInput.

  • TextInput.Normal - Отображает текст так, как он есть. (По умолчанию)
  • TextInput.Password - Отображает символы маски пароля, зависящие от платформы, вместо фактических символов.
  • TextInput.NoEcho - Не отображает ничего.
  • TextInput.PasswordEchoOnEdit - Отображает символы при вводе во время редактирования, в остальном идентично TextInput.Password.

effectiveHorizontalAlignment : перечисление

Устанавливает выравнивание текста по горизонтали в пределах ширины и высоты элемента TextInput. По умолчанию выравнивание текста следует естественному выравниванию текста, например, текст, который читается слева направо, будет выровнен по левому краю.

TextInput не имеет вертикального выравнивания, так как естественная высота точно соответствует высоте одной строки текста. Если вы вручную установите высоту больше, TextInput всегда будет выровнен по верху по вертикали. Вы можете использовать якоря, чтобы выровнять его как угодно в другом элементе.

Допустимые значения для horizontalAlignment — TextInput.AlignLeft, TextInput.AlignRight и TextInput.AlignHCenter.

Допустимые значения для verticalAlignment — TextInput.AlignTop (по умолчанию), TextInput.AlignBottom TextInput.AlignVCenter.

При использовании присоединённого свойства LayoutMirroring::enabled для зеркального отображения макета приложения выравнивание текста по горизонтали также будет зеркальным. Однако свойство horizontalAlignment останется неизменным. Для запроса эффективного выравнивания по горизонтали TextInput используйте свойство только для чтения effectiveHorizontalAlignment.

font.bold : bool

Устанавливает, является ли полужирным шрифт.

font.capitalization : перечисление

Устанавливает регистр для текста.

  • Font.MixedCase - Это обычный вариант отображения текста, где не применяется изменение регистра.
  • Font.AllUppercase - Изменяет текст на все заглавные буквы.
  • Font.AllLowercase - Изменяет текст на все строчные буквы.
  • Font.SmallCaps - Изменяет текст на полужирные строчные буквы.
  • Font.Capitalize - Изменяет текст, делая первую букву каждого слова заглавной.
TextInput { text: "Hello"; font.capitalization: Font.AllLowercase }

font.family : string

Устанавливает имя семейства шрифтов.

Имя семейства не чувствительно к регистру и может необязательно включать имя производителя, например, "Helvetica [Cronyx]". Если семейство доступно от нескольких производителей, а имя производителя не указано, выбирается произвольный производитель. Если семейство недоступно, семейство будет установлено с помощью алгоритма подбора шрифтов.

font.hintingPreference : перечисление

Устанавливает предпочтительное начертание текста. Это подсказка для подсистемы рендеринга текста использовать определённый уровень начертания, и поддержка его варьируется в зависимости от платформы. Подробнее см. таблицу в документации для QFont::HintingPreference.

Примечание: Это свойство действует только при использовании типа рендеринга TextInput.NativeRendering.

Font.PreferDefaultHinting - Используйте уровень начертания по умолчанию для целевой платформы.

Font.PreferNoHinting - Если возможно, отобразите текст без начертания контуров глифов. Макет текста будет типографически точным, используя те же метрики, что и, например, при печати.

Font.PreferVerticalHinting - Если возможно, отображайте текст без горизонтального начертания, но выравнивайте глифы по пиксельной сетке по вертикали. Текст будет казаться более чётким на дисплеях, где плотность недостаточно высока для точного отображения глифов. Но поскольку горизонтальные метрики глифов не начертаны, макет текста будет масштабируемым для устройств с более высокой плотностью (например, принтеров) без влияния на такие детали, как перенос строк.

Font.PreferFullHinting - Если возможно, отображайте текст с начертанием как по горизонтали, так и по вертикали. Текст будет изменён для повышения читабельности на целевом устройстве, но поскольку метрики будут зависеть от целевого размера текста, позиции глифов, переноса строк и других типографических деталей не будут масштабироваться, что означает, что макет текста может выглядеть по-разному на устройствах с разной плотностью пикселей.

TextInput { text: "Hello"; renderType: TextInput.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting }

Это свойство QML было добавлено в Qt 5.8.

font.italic : bool

Устанавливает, имеет ли шрифт курсивный стиль.

font.letterSpacing : real

Устанавливает интерлиньяж шрифта.

Интерлиньяж изменяет стандартное расстояние между отдельными буквами в шрифте. Положительное значение увеличивает интерлиньяж на соответствующее количество пикселей; отрицательное значение уменьшает интерлиньяж.

font.pixelSize : int

Устанавливает размер шрифта в пикселях.

Использование этой функции делает шрифт зависимым от устройства. Используйте pointSize для установки размера шрифта независимо от устройства.

font.pointSize : real

Устанавливает размер шрифта в пунктах. Размер шрифта должен быть больше нуля.

font.strikeout : bool

Устанавливает, имеет ли шрифт стиль зачеркивания.

font.styleName : string

Устанавливает имя стиля шрифта.

Имя стиля не учитывает регистр. При установке шрифт будет подбираться по имени стиля вместо свойств шрифта font.weight, font.bold и font.italic.

Это свойство QML было добавлено в Qt 5.6.

font.underline : bool

Устанавливает, подчёркнут ли текст.

font.weight : enumeration

Устанавливает жирность шрифта.

Жирность может быть одной из:

  • Font.Thin
  • Font.Light
  • Font.ExtraLight
  • Font.Normal - значение по умолчанию
  • Font.Medium
  • Font.DemiBold
  • Font.Bold
  • Font.ExtraBold
  • Font.Black
TextInput { text: "Hello"; font.weight: Font.DemiBold }

font.wordSpacing : real

Устанавливает интерлиньяж для шрифта.

Интерлиньяж изменяет стандартное расстояние между словами. Положительное значение увеличивает интерлиньяж на соответствующее количество пикселей, а отрицательное значение уменьшает межсловное расстояние.

horizontalAlignment : enumeration

Устанавливает выравнивание текста по горизонтали по ширине и высоте элемента TextInput. По умолчанию выравнивание текста соответствует естественному выравниванию, например, текст, который читается слева направо, будет выровнен по левому краю.

TextInput не имеет вертикального выравнивания, так как естественная высота равна высоте одной строки текста. Если вы задаёте высоту вручную больше, чем необходимо, TextInput всегда будет выровнен по верхнему краю по вертикали. Вы можете использовать якоря для выравнивания по высоте внутри другого элемента.

Допустимые значения для horizontalAlignment являются TextInput.AlignLeft, TextInput.AlignRight и TextInput.AlignHCenter.

Допустимые значения для verticalAlignment являются TextInput.AlignTop (значение по умолчанию), TextInput.AlignBottom TextInput.AlignVCenter.

При использовании присоединённого свойства LayoutMirroring::enabled для зеркалирования макетов приложения, горизонтальное выравнивание текста также будет зеркальным. Однако свойство horizontalAlignment останется неизменным. Для запроса эффективного горизонтального выравнивания TextInput используйте только для чтения свойство effectiveHorizontalAlignment.

inputMask : string

Позволяет установить маску ввода для TextInput, ограничивая допустимые вводы текста. См. QLineEdit::inputMask для получения дополнительной информации, так как TextInput использует те же самые строки маски.

См. также acceptableInput и validator.

inputMethodComposing : bool

Это свойство указывает, имеет ли TextInput частичный ввод текста от метода ввода.

Во время составления метод ввода может полагаться на события мыши или клавиш от TextInput для редактирования или подтверждения частичного текста. Это свойство может использоваться для определения моментов, когда следует отключать обработчики событий, которые могут мешать правильной работе метода ввода.

inputMethodHints : enumeration

Предоставляет подсказки методу ввода о ожидаемом содержании ввода текста и о том, как он должен работать.

Значение — это побитовое объединение флагов или Qt.ImhNone, если подсказки не установлены.

Флаги, изменяющие поведение:

  • Qt.ImhHiddenText — символы должны быть скрыты, как это обычно используется при вводе паролей. Это автоматически устанавливается при установке echoMode в TextInput.Password.
  • Qt.ImhSensitiveData — введённый текст не должен храниться активным методом ввода в любом постоянном хранилище, например, в предсказательном словаре пользователей.
  • Qt.ImhNoAutoUppercase — метод ввода не должен пытаться автоматически переключаться на верхний регистр при окончании предложения.
  • Qt.ImhPreferNumbers — числа предпочтительны (но не обязательны).
  • Qt.ImhPreferUppercase — предпочтительны заглавные буквы (но не обязательны).
  • Qt.ImhPreferLowercase — предпочтительны строчные буквы (но не обязательны).
  • Qt.ImhNoPredictiveText — не использовать предсказательный текст (т.е. поиск по словарю) во время ввода.
  • Qt.ImhDate — текстовый редактор работает как поле даты.
  • Qt.ImhTime — текстовый редактор работает как поле времени.
  • Qt.ImhMultiLine — текстовый редактор не закрывает программную клавиатуру при нажатии клавиш Return или Enter (с QtQuick 2.4).

Флаги, ограничивающие ввод (исключительные флаги):

  • Qt.ImhDigitsOnly — разрешены только цифры.
  • Qt.ImhFormattedNumbersOnly — разрешён только числовой ввод. Это включает десятичную точку и знак минус.
  • Qt.ImhUppercaseOnly — разрешён только ввод заглавных букв.
  • Qt.ImhLowercaseOnly — разрешён только ввод строчных букв.
  • Qt.ImhDialableCharactersOnly — разрешены только символы, подходящие для набора номера телефона.
  • Qt.ImhEmailCharactersOnly — разрешены только символы, подходящие для адресов электронной почты.
  • Qt.ImhUrlCharactersOnly — разрешены только символы, подходящие для URL-адресов.

Маски:

  • Qt.ImhExclusiveInputMask — это маска возвращает ненулевое значение, если используется любой из исключительных флагов.

leftPadding : real

Эти свойства содержат отступы вокруг содержимого. Это пространство зарезервировано дополнительно к contentWidth и contentHeight.

Это свойство QML было добавлено в Qt 5.6.

length : int

Возвращает общее количество символов в элементе TextInput.

Если у TextInput есть inputMask, длина будет включать символы маски и может отличаться от длины строки, возвращаемой свойством text.

Это свойство может быть быстрее, чем запрос длины свойства text, так как не требует копирования или преобразования внутренних данных строки TextInput.

maximumLength : int

Максимальная разрешённая длина текста в элементе TextInput.

Если текст слишком длинный, он усекается до предела.

По умолчанию это свойство содержит значение 32767.

mouseSelectionMode : enumeration

Указывает, как текст должен выбираться с помощью мыши.

  • TextInput.SelectCharacters — выбор обновляется отдельными символами. (По умолчанию)
  • TextInput.SelectWords — выбор обновляется целыми словами.

Это свойство применяется только тогда, когда selectByMouse равно true.

overwriteMode : bool

Определяет, будет ли вводимый пользователем текст перезаписывать существующий текст.

Как и во многих текстовых редакторах, текстовый редактор может быть настроен на вставку или перезапись существующего текста новым текстом, введённым пользователем.

Если это свойство равно true, существующий текст перезаписывается, символ за символом, новым текстом; в противном случае текст вставляется в позицию курсора, смещая существующий текст.

По умолчанию это свойство равно false (новый текст не перезаписывает существующий текст).

Это свойство QML было добавлено в Qt 5.8.

padding : real

Эти свойства содержат отступы вокруг содержимого. Это пространство зарезервировано дополнительно к contentWidth и contentHeight.

Это свойство QML было добавлено в Qt 5.6.

passwordCharacter : string

Это символ, отображаемый при установке echoMode в Password или PasswordEchoOnEdit. По умолчанию используется символ пароля, определённый темой платформы.

Если это свойство установлено в строку длиннее одного символа, используется первый символ. Если строка пустая, значение игнорируется и свойство не устанавливается.

passwordMaskDelay : int

Устанавливает задержку перед маскировкой видимого символа символом пароля в миллисекундах.

Метод reset вызывается при присвоении undefined.

Это свойство QML было добавлено в Qt 5.4.

persistentSelection : bool

Определяет, должен ли TextInput сохранять свой выбор при потере активного фокуса на другой элемент сцены. По умолчанию это свойство установлено в false.

[только для чтения] preeditText : string

Это свойство содержит частичный ввод текста от метода ввода.

Это свойство QML было добавлено в Qt 5.7.

См. также displayText.

readOnly : bool

Устанавливает, может ли пользовательский ввод изменять содержимое элемента TextInput.

Если readOnly установлено в значение true, то ввод пользователя не повлияет на свойство text. Любые привязки или попытки установить свойство text по-прежнему будут работать.

renderType : перечисление

Переопределяет тип рендеринга по умолчанию для этого компонента.

Поддерживаемые типы рендеринга:

  • Text.QtRendering — по умолчанию
  • Text.NativeRendering

Выберите Text.NativeRendering, если вы предпочитаете, чтобы текст выглядел нативно на целевой платформе и не требуются расширенные функции, такие как преобразование текста. Использование таких функций в сочетании с типом рендеринга NativeRendering приведет к плохим и иногда пикселизированным результатам.

rightPadding : вещественное число

Эти свойства содержат отступы вокруг содержимого. Это пространство зарезервировано в дополнение к contentWidth и contentHeight.

Это свойство QML было добавлено в Qt 5.6.

selectByMouse : логическое значение

По умолчанию false.

Если true, пользователь может использовать мышь для выделения текста каким-либо платформозависимым способом. Обратите внимание, что для некоторых платформ это может быть неподходящим взаимодействием (это может конфликтовать с тем, как текст должен себя вести внутри Flickable, например).

selectedText : строка

Это свойство только для чтения предоставляет текст, который в данный момент выделен в текстовом поле.

Это эквивалентно следующему фрагменту кода, но быстрее и проще в использовании.

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

selectedTextColor : цвет

Цвет выделенного текста, используемый при выделении.

selectionColor : цвет

Цвет выделения текста, используемый под выделенными фрагментами.

selectionEnd : целое число

Позиция курсора после последнего символа в текущем выделении.

Это свойство только для чтения. Чтобы изменить выделение, используйте select(start,end), selectAll() или selectWord().

См. также selectionStart, cursorPosition и selectedText.

selectionStart : целое число

Позиция курсора перед первым символом в текущем выделении.

Это свойство только для чтения. Чтобы изменить выделение, используйте select(start,end), selectAll() или selectWord().

См. также selectionEnd, cursorPosition и selectedText.

text : строка

Текст в TextInput.

См. также clear().

topPadding : вещественное число

Эти свойства содержат отступы вокруг содержимого. Это пространство зарезервировано в дополнение к contentWidth и contentHeight.

Это свойство QML было добавлено в Qt 5.6.

validator : Validator

Позволяет установить валидатор для TextInput. При установке валидатора TextInput будет принимать только тот ввод, который оставляет свойство text в приемлемом или промежуточном состоянии. Сигнал принятия будет отправлен только в том случае, если текст находится в приемлемом состоянии при нажатии клавиши Enter.

В настоящее время поддерживаются валидаторы IntValidator, DoubleValidator и RegExpValidator. Пример использования валидаторов показан ниже, который позволяет вводить целые числа от 11 до 31 в текстовое поле:

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

См. также acceptableInput и inputMask.

verticalAlignment : перечисление

Устанавливает горизонтальное выравнивание текста в пределах ширины и высоты элемента TextInput. По умолчанию выравнивание текста соответствует естественному выравниванию, например, текст, который читается слева направо, будет выровнен по левому краю.

TextInput не имеет вертикального выравнивания, так как естественная высота точно соответствует высоте одной строки текста. Если вы вручную устанавливаете высоту больше, TextInput всегда будет выровнен по верхнему краю вертикально. Вы можете использовать якоря, чтобы выровнять его по вашему желанию внутри другого элемента.

Допустимые значения для horizontalAlignment являются TextInput.AlignLeft, TextInput.AlignRight и TextInput.AlignHCenter.

Допустимые значения для verticalAlignment являются TextInput.AlignTop (по умолчанию), TextInput.AlignBottom TextInput.AlignVCenter.

При использовании присоединённого свойства LayoutMirroring::enabled для отражения макетов приложения, горизонтальное выравнивание текста также будет отражено. Однако свойство horizontalAlignment останется неизменным. Чтобы запросить эффективное горизонтальное выравнивание TextInput, используйте свойство только для чтения effectiveHorizontalAlignment.

wrapMode : перечисление

Установите это свойство для переноса текста по ширине элемента TextInput. Текст будет переноситься только в том случае, если была установлена явная ширина.

  • TextInput.NoWrap — перенос не будет выполняться. Если текст содержит недостаточно символов перевода строки, то implicitWidth превысит заданную ширину.
  • TextInput.WordWrap — перенос выполняется только по границам слов. Если слово слишком длинное, implicitWidth превысит заданную ширину.
  • TextInput.WrapAnywhere — перенос выполняется в любой точке строки, даже если он происходит в середине слова.
  • TextInput.Wrap — если это возможно, перенос происходит на границе слова; в противном случае он произойдёт в соответствующей точке строки, даже в середине слова.

По умолчанию TextInput.NoWrap. Если вы устанавливаете ширину, рассмотрите использование TextInput.Wrap.

Документация сигналов

accepted()

Этот сигнал испускается при нажатии клавиши Возврат или Ввод. Обратите внимание, что если установлен валидатор или inputMask на текстовом поле, сигнал будет испускаться только если ввод соответствует требованиям.

Соответствующий обработчик — onAccepted.

editingFinished()

Этот сигнал испускается при нажатии клавиши Возврат или Ввод или когда текстовое поле теряет фокус. Обратите внимание, что если установлен валидатор или inputMask на текстовом поле и нажата клавиша Enter/Возврат, этот сигнал будет испущен только если ввод соответствует inputMask и валидатор возвращает приемлемое состояние.

Соответствующий обработчик — onEditingFinished.

Этот QML-сигнал был добавлен в Qt 5.2.

textEdited()

Этот сигнал испускается всякий раз, когда текст редактируется. В отличие от textChanged(), этот сигнал не испускается, когда текст изменяется программно, например, путём изменения значения свойства text или вызова clear().

Соответствующий обработчик — onTextEdited.

Этот QML-сигнал был добавлен в Qt 5.9.

Документация методов

clear()

Очищает содержимое текстового поля и сбрасывает частичный ввод текста от метода ввода.

Используйте этот метод вместо установки свойства text в пустую строку.

Этот QML-метод был добавлен в Qt 5.7.

См. также QInputMethod::reset().

copy()

Копирует текущий выделенный текст в буфер обмена системы.

Примечание: Если режим отображения установлен на режим, отличный от Normal, то copy не будет работать. Это сделано для предотвращения использования copy как способа обхода функций защиты паролей в строковом контроле.

cut()

Перемещает текущий выделенный текст в буфер обмена системы.

Примечание: Если режим отображения установлен на режим, отличный от Normal, то cut не будет работать. Это сделано для предотвращения использования cut как способа обхода функций защиты паролей в строковом контроле.

deselect()

Удаляет активное выделение текста.

ensureVisible(целое число position)

Прокручивает содержимое текстового поля таким образом, чтобы указанный символ position был виден внутри границ текстового поля.

Этот QML-метод был добавлен в Qt 5.4.

См. также autoScroll.

строка getText(целое число start, целое число end)

Возвращает часть текста, которая находится между позициями start и end.

Если у TextInput есть inputMask, длина будет включать символы маски.

insert(целое число position, строка text)

Вставляет текст в TextInput в указанной позиции.

isRightToLeft(int start, int end)

Возвращает true, если естественное направление чтения текста редактора между позициями start и end — справа налево.

moveCursorSelection(int position, SelectionMode mode = TextInput.SelectCharacters)

Перемещает курсор в позицию position и обновляет выделение в соответствии с необязательным параметром mode. (Чтобы только переместить курсор, задайте свойство cursorPosition.)

При вызове этого метода дополнительно устанавливается либо свойство selectionStart, либо свойство selectionEnd (которое находилось в предыдущей позиции курсора) в указанную позицию. Это позволяет легко расширять и сужать выделенный диапазон текста.

Режим выделения определяет, обновляется ли выделение посимвольно или по словам. Если не указано, режим выделения по умолчанию — TextInput.SelectCharacters.

  • TextInput.SelectCharacters — Устанавливает либо свойство selectionStart, либо свойство selectionEnd (которое находилось в предыдущей позиции курсора) в указанную позицию.
  • TextInput.SelectWords — Устанавливает свойства selectionStart и selectionEnd так, чтобы они включали все слова между указанной позицией и предыдущей позицией курсора. Слова, частично находящиеся в диапазоне, включаются.

Например, рассмотрим следующую последовательность вызовов:

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

Это перемещает курсор в позицию 5, расширяет конечную позицию выделения с 5 до 9, а затем сокращает конечную позицию выделения с 9 до 7, оставляя выделенным текст с позиции 5 до 7 (6-й и 7-й символы).

Та же последовательность с TextInput.SelectWords расширит начальную позицию выделения до границы слова перед или на позиции 5 и расширит конечную позицию выделения до границы слова на или после позиции 9.

paste()

Заменяет текущий выделенный текст содержимым системного буфера обмена.

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

Эта функция возвращает позицию символа в x и y пикселях от левого верхнего угла textInput. Позиция 0 находится перед первым символом, позиция 1 — после первого, но перед вторым и так далее до position.length, которая находится после всех символов.

Это означает, что для всех значений x перед первым символом эта функция возвращает 0, а для всех значений x после последнего символа — text.length. Если значение y находится выше текста, позиция будет такой же, как у ближайшего символа на первой строке; если оно находится ниже текста, будет возвращена позиция ближайшего символа на последней строке.

Тип позиции курсора определяет, как должна быть решена позиция курсора.

  • TextInput.CursorBetweenCharacters — Возвращает позицию между символами, которая находится ближе всего к x.
  • TextInput.CursorOnCharacter — Возвращает позицию перед символом, который находится ближе всего к x.

прямоугольник positionToRectangle(int pos)

Эта функция принимает позицию символа и возвращает прямоугольник, который занимал бы курсор, если бы он был помещён в эту позицию.

Это аналогично установке cursorPosition и последующему запросу прямоугольника курсора, но cursorPosition не изменяется.

redo()

Повторяет последнюю операцию, если отмена доступна.

remove(int start, int end)

Удаляет фрагмент текста между позициями start и end из TextInput.

select(int start, int end)

Выделяет текст с позиции start до end.

Если либо start, либо end находятся за пределами диапазона, выделение не изменяется.

После вызова этого метода selectionStart будет меньшим, а selectionEnd — большим значением (независимо от порядка, переданного в этот метод).

См. также selectionStart и selectionEnd.

selectAll()

Выделяет весь текст.

selectWord()

Выделяет слово, ближайшее к текущей позиции курсора.

undo()

Отменяет последнюю операцию, если отмена доступна. Отменяет текущее выделение и обновляет начальную позицию выделения до текущей позиции курсора.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-textinput.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API