Spec-Zone.ru › Qt 5.15

Тип QML TextInput

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

Оператор импорта: import QtQuick 2.15
Наследует:

Item

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

Свойства

  • acceptableInput : bool
  • activeFocusOnPress : bool
  • autoScroll : bool
  • bottomPadding : real
  • canPaste : bool
  • canRedo : bool
  • canUndo : bool
  • color : color
  • contentHeight : real
  • contentWidth : real
  • cursorDelegate : Component
  • cursorPosition : int
  • cursorRectangle : rectangle
  • cursorVisible : bool
  • displayText : string
  • echoMode : перечисление
  • effectiveHorizontalAlignment : перечисление
  • font.bold : bool
  • font.capitalization : перечисление
  • font.family : string
  • font.hintingPreference : перечисление
  • font.italic : bool
  • font.kerning : bool
  • font.letterSpacing : real
  • font.pixelSize : int
  • font.pointSize : real
  • font.preferShaping : bool
  • font.strikeout : bool
  • font.styleName : string
  • font.underline : bool
  • font.weight : перечисление
  • font.wordSpacing : real
  • horizontalAlignment : перечисление
  • inputMask : string
  • inputMethodComposing : bool
  • inputMethodHints : перечисление
  • leftPadding : real
  • length : int
  • maximumLength : int
  • mouseSelectionMode : перечисление
  • overwriteMode : bool
  • padding : real
  • passwordCharacter : string
  • passwordMaskDelay : int
  • persistentSelection : bool
  • preeditText : string
  • readOnly : bool
  • renderType : перечисление
  • rightPadding : real
  • selectByMouse : bool
  • selectedText : string
  • selectedTextColor : color
  • selectionColor : color
  • selectionEnd : int
  • selectionStart : int
  • text : string
  • topPadding : real
  • validator : Validator
  • verticalAlignment : перечисление
  • wrapMode : перечисление

Сигналы

  • accepted()
  • editingFinished()
  • textEdited()

Методы

  • clear()
  • copy()
  • cut()
  • deselect()
  • ensureVisible(int position)
  • string getText(int start, int end)
  • insert(int position, string text)
  • isRightToLeft(int start, int end)
  • moveCursorSelection(int position, SelectionMode mode)
  • paste()
  • int positionAt(real x, real y, CursorPosition position)
  • rect positionToRectangle(int pos)
  • redo()
  • remove(int start, int end)
  • select(int start, int end)
  • selectAll()
  • selectWord()
  • undo()

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

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

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

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

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

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

bottomPadding : real

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

Отдельные свойства отступа принимают значение свойства padding , если они не заданы явно. Например, если padding установлено в 4 и leftPadding в 8, 8 будет использоваться в качестве левого отступа.

Примечание: Если явно заданы ширина или высота TextInput, необходимо позаботиться о том, чтобы она была достаточно большой, чтобы вместить значения отступов. Например: если topPadding и bottomPadding установлены в 10, но высота TextInput установлена только в 20, у текста не будет достаточно вертикального пространства для рендеринга, и он будет обрезаться.

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

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

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

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

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

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

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

acceptableInput : bool

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

activeFocusOnPress : bool

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

autoScroll : bool

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

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

canPaste : bool

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

canRedo : bool

Возвращает true, если TextInput доступен для записи и есть отменённые операции, которые можно повторить.

canUndo : bool

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

color : цвет

Цвет текста.

contentHeight : вещественное

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

contentWidth : вещественное

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

cursorDelegate : Компонент

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

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

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

cursorPosition : целое

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

cursorRectangle : прямоугольник

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

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

cursorVisible : bool

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

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

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

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

TextInput {
    text: "Text"
    cursorVisible: false
}

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

[только для чтения] displayText : строка

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

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

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

См. также preeditText.

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

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

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

font.bold : bool

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

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

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

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

font.family : строка

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

Имя семейства не чувствительно к регистру и может необязательно включать имя типографии, например, "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 }

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

font.italic : bool

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

font.kerning : bool

Включает или выключает функцию кернинга OpenType при форматировании текста. Выключение может улучшить производительность при создании или изменении текста, за счёт некоторых косметических функций. Значение по умолчанию равно true.

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

Это свойство было введено в Qt 5.10.

font.letterSpacing : real

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

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

font.pixelSize : int

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

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

font.pointSize : real

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

font.preferShaping : bool

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

Значение по умолчанию равно true.

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

Это свойство было введено в Qt 5.10.

font.strikeout : bool

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

font.styleName : string

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

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

Это свойство было введено в 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

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

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

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 - Редактор текста не закрывает программную клавиатуру при нажатии клавиши Возврат или Ввод (с QtQuick 2.4).

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

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

Маски:

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

length : int

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

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

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

maximumLength : int

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

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

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

mouseSelectionMode : enumeration

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

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

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

overwriteMode : bool

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

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

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

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

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

passwordCharacter : string

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

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

passwordMaskDelay : int

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

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

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

persistentSelection : bool

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

[только для чтения] preeditText : строка

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

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

См. также displayText.

readOnly : bool

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

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

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

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

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

  • Text.QtRendering
  • Text.NativeRendering

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

Тип рендеринга по умолчанию определяется с помощью QQuickWindow::textRenderType().

selectByMouse : bool

По умолчанию 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().

validator : Validator

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

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

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

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

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

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

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

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

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

accepted()

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

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

editingFinished()

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

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

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

textEdited()

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

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

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

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

clear()

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

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

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

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

copy()

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

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

cut()

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

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

deselect()

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

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

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

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

См. также autoScroll.

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

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

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

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

Вставляет text в TextInput по позиции position.

isRightToLeft(целое число start, целое число end)

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

moveCursorSelection(целое число position, SelectionMode mode)

Перемещает курсор в 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 расширит selectionStart до границы слова перед или на позиции 5 и расширит selectionEnd до границы слова на или после позиции 9.

paste()

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

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

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

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

Параметр курсора position определяет, как должна быть определена позиция курсора:

Постоянная Описание
TextInput.CursorBetweenCharacters Возвращает позицию между символами, ближайшую к x. Это значение по умолчанию.
TextInput.CursorOnCharacter Возвращает позицию перед символом, ближайшую к x.

rect positionToRectangle(int pos)

Эта функция принимает позицию символа 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.15/qml-qtquick-textinput.html

Spec-Zone.ru

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