Тип QML TextInput
Отображает редактируемую строку текста. Подробнее...
| Заявление об импорте: | import QtQuick 2.14 |
| Наследует: |
Свойства
- acceptableInput : bool
- activeFocusOnPress : bool
- autoScroll : bool
- bottomPadding : real
- canPaste : bool
- canRedo : bool
- canUndo : bool
- цвет : цвет
- высота содержимого : real
- ширина содержимого : real
- делегат курсора : Компонент
- позиция курсора : int
- прямоугольник курсора : прямоугольник
- видимость курсора : bool
- отображаемый текст : строка
- режим отображения : перечисление
- эффективное выравнивание по горизонтали : перечисление
- font.жирный : bool
- font.заглавные буквы : перечисление
- font.семья : строка
- font.предпочтение растрирования : перечисление
- font.курсив : bool
- font.кернинг : bool
- font.пробелы между буквами : real
- font.размер в пикселях : int
- font.размер в пунктах : real
- font.предпочтение формовки : bool
- font.зачеркнутый : bool
- font.название стиля : строка
- font.подчеркнутый : bool
- font.вес : перечисление
- font.пробелы между словами : real
- горизонтальное выравнивание : перечисление
- маска ввода : строка
- ввод метода компоновки : bool
- подсказки метода ввода : перечисление
- отступ слева : real
- длина : int
- максимальная длина : int
- режим выбора мышью : перечисление
- режим перезаписи : bool
- отступ : real
- символ пароля : строка
- задержка маски пароля : int
- постоянный выбор : bool
- предварительно введенный текст : строка
- только для чтения : bool
- тип рендеринга : перечисление
- отступ справа : real
- выбирать мышью : bool
- выбранный текст : строка
- цвет выделенного текста : цвет
- цвет выделения : цвет
- конец выделения : int
- начало выделения : int
- текст : строка
- отступ сверху : real
- валидатор : Валидатор
- вертикальное выравнивание : перечисление
- режим переноса строк : перечисление
Сигналы
Методы
- очистить()
- скопировать()
- вырезать()
- отменить выбор()
- гарантировать видимость(position)
- строка получитьТекст(start, int end)
- вставить(position, строка text)
- isRightToLeft(start, int end)
- переместитьВыборКурсора(position, SelectionMode mode)
- вставить()
- int позицияВ(x, real y, CursorPosition position)
- прямоугольник позицияКПрямоугольнику(pos)
- повторить()
- удалить(start, int end)
- выделить(start, int end)
- выделитьВсё()
- выделитьСлово()
- отменить()
Подробное описание
Тип TextInput отображает одну строку редактируемого простого текста.
TextInput используется для приема строки входных данных текста. Ограничения ввода могут быть наложены на элемент TextInput (например, с помощью валидатора или маски ввода), а установка режима отображения на соответствующее значение позволяет использовать TextInput для поля ввода пароля.
В macOS привязки клавиш Вверх/Вниз для Home/End явно отключены. Если вам нужны такие привязки (на любой платформе), вам нужно будет создать их в QML.
Документация по свойствам
bottomPadding : вещественное
Эти свойства содержат отступы вокруг содержимого. Это пространство зарезервировано в дополнение к ширине содержимого и высоте содержимого.
Отдельные свойства отступа принимают значение свойства padding , если они не установлены явно. Например, если padding установлено в 4 и leftPadding в 8, 8 будет использоваться как отступ слева.
Примечание: Если задана явная ширина или высота для TextInput, необходимо следить за тем, чтобы она была достаточно большой для размещения соответствующих значений отступа. Например: если topPadding и bottomPadding установлены в 10, но высота TextInput установлена только в 20, у текста не будет достаточно вертикального пространства для рендеринга, и он будет отображаться обрезанным.
Данная документация была представлена в 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 - Если возможно, рендерить текст без горизонтального кернинга, но выровнять глифы по пиксельной сетке в вертикальном направлении. Текст будет выглядеть более четким на дисплеях, где плотность недостаточна для точного рендеринга глифов. Но поскольку горизонтальные метрики глифов не подвержены кернингу, макет текста будет масштабируемым на устройствах с более высокой плотностью (таких как принтеры) без влияния на детали, такие как разрывы строк.
END_OF_DOCUMENT_MARKERFont.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 - Редактор текста не закрывает программную клавиатуру при нажатии клавиш Return или Enter (с 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
Устанавливает задержку перед тем, как видимый символ будет замаскирован символом пароля, в миллисекундах.
Метод reset будет вызван при присвоении undefined.
Это свойство было введено в Qt 5.4.
persistentSelection : bool
Следует ли TextInput сохранять выделение при потере активного фокуса на другой элемент сцены. По умолчанию это значение равно false;
[только для чтения] preeditText : строка
Это свойство содержит частичный текст ввода от метода ввода.
Это свойство было введено в Qt 5.7.
См. также displayText.
readOnly : логическое
Устанавливает, может ли пользовательский ввод изменять содержимое TextInput.
Если readOnly установлено в значение true, то пользовательский ввод не повлияет на свойство text. Любые привязки или попытки установить свойство text по-прежнему будут работать.
renderType : перечисление
Переопределить тип рендеринга по умолчанию для этого компонента.
Поддерживаемые типы рендеринга:
- Text.QtRendering
- Text.NativeRendering
Выберите Text.NativeRendering, если вы предпочитаете, чтобы текст выглядел нативно на целевой платформе и не требуете расширенных функций, таких как преобразование текста. Использование таких функций в сочетании с типом рендеринга NativeRendering приведет к плохим и иногда размытым результатам.
Тип рендеринга по умолчанию определяется QQuickWindow::textRenderType().
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().
validator : Validator
Позволяет установить валидатор для TextInput. При установке валидатора TextInput будет принимать только тот ввод, который оставляет свойство text в приемлемом или промежуточном состоянии. Сигнал принятия будет отправлен только в том случае, если текст находится в приемлемом состоянии при нажатии клавиши ввода.
В настоящее время поддерживаются валидаторы 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()
Этот сигнал испускается при нажатии клавиши Return или Enter. Обратите внимание, что если для текстового ввода установлен валидатор или inputMask, сигнал будет испущен только в том случае, если ввод находится в приемлемом состоянии.
Соответствующий обработчик — onAccepted.
editingFinished()
Этот сигнал испускается при нажатии клавиши Return или Enter или при потере текстовым вводом фокуса. Обратите внимание, что если для текстового ввода установлен валидатор или inputMask, и нажата клавиша ввода, этот сигнал будет испущен только в том случае, если ввод соответствует inputMask и валидатор возвращает приемлемое состояние.
Соответствующий обработчик — onEditingFinished.
Этот сигнал был введен в Qt 5.2.
textEdited()
Этот сигнал испускается всякий раз, когда текст редактируется. В отличие от textChanged(), этот сигнал не испускается, когда текст изменяется программно, например, путем изменения значения свойства text или вызова clear().
Соответствующий обработчик — onTextEdited.
Этот сигнал был введен в Qt 5.9.
Документация методов
clear()
Очищает содержимое текстового ввода и сбрасывает частичный текст ввода от метода ввода.
Используйте этот метод вместо того, чтобы устанавливать свойство text в пустую строку.
Этот метод был введен в Qt 5.7.
См. также QInputMethod::reset().
copy()
Копирует выделенный текст в системный буфер обмена.
Примечание: Если режим отображения установлен на режим, отличный от Normal, copy не будет работать. Это предотвращает использование copy в качестве способа обхода функций пароля строки управления.
cut()
Перемещает выделенный текст в системный буфер обмена.
Примечание: Если режим отображения установлен на режим, отличный от Normal, 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 расширит начальную позицию выделения до границы слова до или на позиции 5 и расширит конечную позицию выделения до границы слова на или после позиции 9.
paste()
Заменяет выделенный текст содержимым системного буфера обмена.
int positionAt(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(pos)
Эта функция принимает позицию символа pos и возвращает прямоугольник, который занимал бы курсор, если бы он был помещён в эту позицию.
Это аналогично установке cursorPosition и запросу прямоугольника курсора, но cursorPosition не изменяется.
redo()
Повторяет последнюю операцию, если повтор доступен (canRedo).
remove(start, int end)
Удаляет часть текста между позициями start и end из TextInput.
select(start, int end)
Выделяет текст с позиции start до позиции end.
Если start или end находятся вне диапазона, выделение не изменяется.
После вызова selectionStart будет меньше, а selectionEnd больше (независимо от порядка, в котором эти значения были переданы).
См. также selectionStart и selectionEnd.
selectAll()
Выделяет весь текст.
selectWord()
Выделяет слово, ближайшее к текущему положению курсора.
undo()
Отменяет последнюю операцию, если отмена доступна (canUndo). Снимает выделение и обновляет стартовую позицию выделения до текущего положения курсора.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qml-qtquick-textinput.html