Тип QML TextField
Отображает одну строку редактируемого простого текста. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 1.4 |
| С момента: | Qt 5.1 |
| Наследует: |
Свойства
- 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 : перечисление
Сигналы
Методы
- 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 если текстовое поле содержит допустимый текст.
Если был установлен validator или input mask, это свойство вернет true если текущий текст удовлетворяет validator или маске в качестве конечной строки (а не как промежуточной).
Значение по умолчанию 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.
По умолчанию, горизонтальное выравнивание текста соответствует естественному выравниванию, например, текст, читаемый слева направо, будет выровнен по левому краю.
Возможные значения выравнивания:
При использовании присоединённого свойства 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 - Текстовый редактор не закрывает программную клавиатуру при нажатии клавиш Return или Enter (с 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 : Component
Это свойство содержит меню редактирования 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.
Возможные значения выравнивания:
Документация сигналов
accepted()
Этот сигнал излучается при нажатии клавиш Return или Enter. Обратите внимание, что если для поля ввода задан валидатор или inputMask, сигнал будет излучен только в том случае, если ввод соответствует заданным параметрам.
Соответствующий обработчик — onAccepted.
editingFinished()
Этот сигнал излучается при нажатии клавиш Return или Enter, или когда поле ввода теряет фокус. Обратите внимание, что если для поля ввода задан валидатор или inputMask, и нажаты клавиши Enter/Return, сигнал будет излучен только в том случае, если ввод соответствует inputMask и валидатор возвращает приемлемое состояние.
Соответствующий обработчик — onEditingFinished.
Этот сигнал был введен в 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.
Этот метод был введен в 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/qt-5.14/qml-qtquick-controls-textfield.html