Spec-Zone.ru › Qt 5.13

Тип 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.

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

См. также горизонтальноеВыравнивание.

шрифт : шрифт

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

горизонтальноеВыравнивание : перечисление

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

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

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

  • TextInput.ВыравниваниеПоЛевомуКраю
  • TextInput.ВыравниваниеПоПравомуКраю
  • TextInput.ВыравниваниеПоЦентру

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

[только для чтения] наведенииКурсора : логическое

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

маскаВвода : строка

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

См. также допустимыйВвод и валидатор.

[только для чтения] составInputMethod : логическое

Это свойство содержит значение, указывающее, получает ли TextField частичный ввод текста от средства ввода.

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

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

советыInputMethod : перечисление

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

Значение представляет собой побитовое сочетание флагов или 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 — это маска возвращает ненулевое значение, если используется любой из исключительных флагов.

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

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

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

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

максимальнаяДлина : целое

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

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

меню : Компонент

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

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

текстЗаполнения : строка

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

только для чтения : логическое

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

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

выделениеМышью : логическое

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

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

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

[только для чтения] выделенныйТекст : строка

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

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

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

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

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

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

См. также началоВыделения, позицияКурсора и выделенныйТекст.

[только для чтения] началоВыделения : целое

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

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

См. также конецВыделения, позицияКурсора и выделенныйТекст.

текст : строка

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

цветТекста : цвет

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

валидатор : Валидатор

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

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

import QtQuick 2.2
import QtQuick.Controls 1.2

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

См. также допустимыйВвод, маскаВвода и принят.

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.13/qml-qtquick-controls-textfield.html

Spec-Zone.ru

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