Тип QML TextInput
Отображает редактируемую строку текста. Подробнее...
| Заявление об импорте: | import QtQuick |
| Наследует: |
Свойства
- 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 : int
- 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 : перечисление
Сигналы
Методы
- 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 сочетания клавиш Up/Down для Home/End явно отключены. Если вам нужны такие сочетания (на любой платформе), вам нужно будет создать их в QML.
Документация свойств
[since 5.6] 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 : 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 : enumeration
Определяет, как текст должен отображаться в TextInput.
- TextInput.Normal - Отображает текст, как он есть. (По умолчанию)
- TextInput.Password - Отображает зависящие от платформы символы маски пароля вместо фактических символов.
- TextInput.NoEcho - Ничего не отображает.
-
TextInput.PasswordEchoOnEdit - Отображает символы по мере их ввода при редактировании, в противном случае идентично
TextInput.Password.
font.bold : bool
Устанавливает, является ли начертание шрифта жирным.
font.capitalization : enumeration
Устанавливает регистр текста.
- Font.MixedCase - Это стандартный вариант отображения текста, где не применяется изменение регистра.
- Font.AllUppercase - Это изменяет текст на все заглавные буквы.
- Font.AllLowercase - Это изменяет текст на все строчные буквы.
- Font.SmallCaps - Это изменяет текст на полужирные строчные буквы.
- Font.Capitalize - Это изменяет текст, делая первую букву каждого слова заглавной.
TextInput { text: "Hello"; font.capitalization: Font.AllLowercase } font.family : string
Устанавливает имя семейства шрифтов.
Имя семейства не учитывает регистр и может необязательно включать имя типографии, например, "Helvetica [Cronyx]". Если семейство доступно от более чем одной типографии, и типография не указана, выбирается произвольная типография. Если семейство недоступно, семейство будет установлено с помощью алгоритма подбора шрифтов.
[с 5.8] font.hintingPreference : enumeration
Устанавливает предпочтительный способ начертания текста. Это подсказка для систем рендеринга текста использовать определённый уровень начертания, и поддержка различается в разных платформах. Подробнее см. таблицу в документации для 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
Устанавливает, имеет ли шрифт стиль курсив.
[since 5.10] 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
Устанавливает размер шрифта в пунктах. Размер в пунктах должен быть больше нуля.
[since 5.10] font.preferShaping : bool
Иногда шрифт применяет сложные правила к набору символов, чтобы отображать их правильно. В некоторых системах письма, таких как брахмические, это необходимо для читабельности текста, а в, например, латинском шрифте это просто косметический элемент. Установка свойства preferShaping в значение false отключит все такие функции, когда они не требуются, что в большинстве случаев улучшит производительность.
Значение по умолчанию — true.
TextInput { text: "Some text"; font.preferShaping: false } Это свойство было добавлено в Qt 5.10.
font.strikeout : bool
Устанавливает, имеет ли шрифт стиль зачёркивания.
[since 5.6] font.styleName : string
Устанавливает имя стиля шрифта.
Имя стиля не чувствительно к регистру. Если установлено, шрифт будет сопоставляться с именем стиля вместо свойств шрифта font.weight, font.bold и font.italic.
Это свойство было добавлено в Qt 5.6.
font.underline : bool
Устанавливает, подчёркнут ли текст.
font.weight : int
Запрашиваемая жирность шрифта. Запрашиваемая жирность должна быть целым числом от 1 до 1000 или одним из предопределённых значений:
- 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.
[since 5.8] overwriteMode : bool
Указывает, будет ли введённый пользователем текст перезаписывать существующий текст.
Как и во многих текстовых редакторах, виджет текстового редактора можно настроить для вставки или перезаписи существующего текста новым введённым пользователем текстом.
Если это свойство true, существующий текст перезаписывается посимвольно новым; в противном случае текст вставляется в позицию курсора, вытесняя существующий.
По умолчанию это свойство false (новый текст не перезаписывает существующий).
Это свойство было добавлено в Qt 5.8.
passwordCharacter : string
Это символ, отображаемый, когда echoMode установлен в Password или PasswordEchoOnEdit. По умолчанию используется символ пароля темы платформы.
Если это свойство установлено в строку длиной более одного символа, используется первый символ. Если строка пустая, значение игнорируется и свойство не устанавливается.
[since 5.4] passwordMaskDelay : int
Устанавливает задержку перед маскированием видимого символа символом пароля в миллисекундах.
Метод reset вызывается при присвоении undefined.
Это свойство было добавлено в Qt 5.4.
persistentSelection : bool
Указывает, должен ли TextInput сохранять выделение при потере активного фокуса на другой элемент в сцене. По умолчанию это значение false;
[read-only, since 5.7] preeditText : string
Это свойство содержит частичный текст, введённый с помощью метода ввода.
Это свойство было введено в 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 и 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.
[since 5.2] editingFinished()
Этот сигнал испускается при нажатии клавиш Return или Enter или при потере фокуса текстовым вводом. Обратите внимание, что если для текстового ввода установлен валидатор или inputMask и нажата клавиша Enter, этот сигнал будет испущен только в том случае, если ввод соответствует inputMask и валидатор возвращает приемлемое состояние.
Примечание: Соответствующий обработчик — onEditingFinished.
Этот сигнал был введён в Qt 5.2.
[since 5.9] textEdited()
Этот сигнал испускается всякий раз, когда текст редактируется. В отличие от textChanged(), этот сигнал не испускается, когда текст изменяется программно, например, изменением значения свойства text или вызовом clear().
Примечание: Соответствующий обработчик — onTextEdited.
Этот сигнал был введён в Qt 5.9.
Документация методов
[since 5.7] clear()
Очищает содержимое текстового ввода и сбрасывает частичный текст, введённый с помощью метода ввода.
Используйте этот метод вместо установки свойства text в пустую строку.
Этот метод был введён в Qt 5.7.
См. также QInputMethod::reset().
copy()
Копирует выделенный текст в буфер обмена системы.
Примечание: Если режим отображения установлен на другой режим, кроме Normal, copy не будет работать. Это предотвращает использование copy в обход функций защиты паролей в строковом контроле.
cut()
Перемещает выделенный текст в буфер обмена системы.
Примечание: Если режим отображения установлен на другой режим, кроме Normal, cut не будет работать. Это предотвращает использование cut в обход функций защиты паролей в строковом контроле.
deselect()
Удаляет активное выделение текста.
[since 5.4] 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 (шестой и седьмой символы).
Та же последовательность вызовов с 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()
Повторяет последнюю операцию, если повтор доступен (canRedo).
Удаляет часть текста между позициями start и end из TextInput.
Выделяет текст с позиции 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-6.2/qml-qtquick-textinput.html