Spec-Zone.ru › Qt 5.6

Тип 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
  • style : Компонент
  • 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

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

Это свойство QML было введено в 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 : 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 для редактирования или подтверждения частичного текста. Это свойство может использоваться для определения моментов, когда необходимо отключать обработчики событий, которые могут препятствовать корректной работе метода ввода.

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

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

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

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

maximumLength : int

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

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

menu : Component

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

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

placeholderText : строка

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

readOnly : bool

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

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

selectByMouse : bool

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

style : Component

Стиль Component для этого элемента управления.

См. такжеQt Quick Controls Styles QML Типы.

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. Обратите внимание, что если для поля ввода установлен валидатор или маска ввода, сигнал будет испущен только если ввод соответствует правилам.

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

editingFinished()

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

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

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

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

void copy()

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

void cut()

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

void deselect()

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

string getText(int start, int end)

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

void insert(int position, string text)

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

bool isRightToLeft(int start, int end)

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

void paste()

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

void redo()

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

void remove(int start, int end)

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

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

void select(int start, int 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/archives/qt-5.6/qml-qtquick-controls-textfield.html

Spec-Zone.ru

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