Spec-Zone.ru › Qt 5.12

Тип QML TextField

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

Заявление об импорте: import QtQuick.Controls 1.4
С момента: Qt 5.1
Наследует:

FocusScope

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

Свойства

  • acceptableInput : bool
  • activeFocusOnPress : bool
  • canPaste : bool
  • canRedo : bool
  • canUndo : bool
  • cursorPosition : int
  • cursorRectangle : rect
  • displayText : string
  • echoMode : перечисление
  • effectiveHorizontalAlignment : перечисление
  • font : шрифт
  • horizontalAlignment : перечисление
  • hovered : bool
  • inputMask : строка
  • inputMethodComposing : bool
  • inputMethodHints : перечисление
  • length : int
  • maximumLength : int
  • menu : Компонент
  • placeholderText : строка
  • readOnly : bool
  • selectByMouse : bool
  • selectedText : строка
  • selectionEnd : int
  • selectionStart : int
  • text : строка
  • textColor : цвет
  • validator : Validator
  • verticalAlignment : перечисление

Сигналы

  • accepted()
  • editingFinished()

Методы

  • void copy()
  • void cut()
  • void deselect()
  • string getText(int start, int end)
  • void insert(int position, string text)
  • bool isRightToLeft(int start, int end)
  • void paste()
  • void redo()
  • void remove(int start, int end)
  • void select(int start, int end)
  • void selectAll()
  • void selectWord()
  • void undo()

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

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

TextField {
    placeholderText: qsTr("Enter name")
}

Вы можете создать пользовательский вид TextField, назначив TextFieldStyle.

См. также TextArea и TextInput.

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

[только для чтения] acceptableInput : bool

Возвращает true, если текстовое поле содержит допустимый текст.

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

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

См. также validator, inputMask и accepted.

activeFocusOnPress : bool

Это свойство установлено в true, если TextField должен получить активный фокус при нажатии мышью.

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

[только для чтения] canPaste : bool

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

[только для чтения] canRedo : bool

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

[только для чтения] canUndo : bool

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

cursorPosition : int

Это свойство содержит позицию курсора в TextField.

[только для чтения] cursorRectangle : rect

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

Это свойство было добавлено в QtQuick.Controls 1.3.

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

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

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

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

Указывает, как текст должен отображаться в TextField.

Возможные режимы:

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

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

Получает эффективное выравнивание текста по горизонтали внутри ширины элемента TextField.

horizontalAlignment содержит значение по умолчанию для горизонтального выравнивания.

См. также horizontalAlignment.

font : шрифт

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

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

Устанавливает выравнивание текста по ширине элемента TextField.

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

Возможные значения выравнивания:

  • TextInput.AlignLeft
  • TextInput.AlignRight
  • TextInput.AlignHCenter

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

[только для чтения] hovered : bool

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

inputMask : строка

Устанавливает маску ввода для TextField, ограничивая допустимые входные данные. Подробнее см. QLineEdit::inputMask, так как те же самые строки масок используются TextField.

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

[только для чтения] inputMethodComposing : bool

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

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

Это свойство было добавлено в QtQuick.Controls 1.3.

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

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

Значение представляет собой битовое сочетание флагов или Qt.ImhNone если нет указанных подсказок.

Значение по умолчанию 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.Controls 1.3).

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

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

Маски:

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

[только для чтения] length : целое

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

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

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

maximumLength : целое

Это свойство хранит максимальную разрешенную длину текста в TextField.

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

menu : Компонент

Это свойство содержит меню редактирования Menu для работы с выделением текста. Установите значение в null если меню не требуется.

Это свойство было добавлено в QtQuick.Controls 1.3.

placeholderText : строка

Это свойство содержит текст, отображаемый в текстовом поле, когда поле пустое.

readOnly : bool

Устанавливает, может ли пользовательский ввод изменять содержимое TextField. Режим только для чтения отличается от отключенного текстового поля тем, что текстовое поле будет выглядеть активным, и текст всё ещё можно будет выделять и копировать.

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

selectByMouse : bool

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

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

Это свойство было добавлено в QtQuick.Controls 1.3.

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

Предоставляет текст, выбранный в текстовом вводе.

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

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

[только для чтения] selectionEnd : целое

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

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

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

[только для чтения] selectionStart : целое

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

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

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

text : строка

Это свойство содержит текст в TextField.

textColor : цвет

Это свойство содержит цвет текста.

validator : Validator

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

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

import QtQuick 2.2
import QtQuick.Controls 1.2

TextField {
    validator: IntValidator {bottom: 11; top: 31;}
    focus: true
}

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

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

Устанавливает выравнивание текста по высоте элемента TextField.

Возможные значения выравнивания:

  • TextInput.AlignTop
  • TextInput.AlignBottom
  • TextInput.AlignVCenter (по умолчанию).

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

accepted()

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

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

editingFinished()

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

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

Этот сигнал был введён в QtQuick.Controls 1.1.

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

void copy()

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

void cut()

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

void deselect()

Убирает выделение текста.

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

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

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

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

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

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

void paste()

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

void redo()

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

void remove(целое start, целое end)

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

Этот метод был добавлен в QtQuick.Controls 1.4.

void select(целое start, целое end)

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

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

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

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

void selectAll()

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

void selectWord()

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

void undo()

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

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

Spec-Zone.ru

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