Тип 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
- style : Компонент
- 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 если текстовое поле содержит допустимый текст.
Если был задан валидатор или маска ввода, это свойство вернёт 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.
шрифт : шрифт
Устанавливает шрифт для TextField.
горизонтальноеВыравнивание : перечисление
Устанавливает выравнивание текста в пределах ширины элемента TextField.
По умолчанию, горизонтальное выравнивание текста соответствует естественному выравниванию, например, текст, читаемый слева направо, выравнивается по левому краю.
Возможные значения выравнивания:
При использовании присоединённого свойства LayoutMirroring::enabled для отражения макетов приложения, горизонтальное выравнивание текста также будет отражено. Однако свойство horizontalAlignment останется неизменным. Для запроса эффективного горизонтального выравнивания TextField используйте свойство только для чтения effectiveHorizontalAlignment.
[только для чтения] наведённаяМышь : bool
Это свойство содержит значение, указывающее, находится ли указатель мыши над элементом управления.
маскаВвода : строка
Устанавливает маску ввода для TextField, ограничивая допустимые вводные данные. См. QLineEdit::inputMask для получения более подробной информации, так как точно такие же строки маски используются TextField.
См. также acceptableInput и validator.
[только для чтения] составInputMethod : bool
Это свойство содержит значение, указывающее, получает ли TextField частичный ввод текста от метода ввода.
Во время составления метода ввода может полагаться на события мыши или нажатия клавиш от TextField для редактирования или подтверждения частичного текста. Это свойство может использоваться для определения того, когда следует отключать обработчики событий, которые могут помешать правильному функционированию метода ввода.
Это свойство QML было представлено в 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 - эта маска возвращает ненулевое значение, если используется любой из исключительных флагов.
[только для чтения] длина : int
Возвращает общее количество символов в элементе TextField.
Если у TextField есть маска ввода, длина будет включать символы маски и может отличаться от длины строки, возвращаемой свойством text.
Это свойство может быть быстрее, чем запрос длины свойства text, так как не требует копирования или преобразования внутренних данных строки TextField.
максимальнаяДлина : int
Это свойство содержит максимальную разрешённую длину текста в TextField.
Если текст слишком длинный, он усекается до предела.
меню : Component
Это свойство содержит контекстное меню для работы с выделением текста. Установите его в null если меню не нужно.
Это свойство QML было представлено в QtQuick.Controls 1.3.
текстЗаполнителя : строка
Это свойство содержит текст, отображаемый в текстовом поле, когда оно пустое.
толькоЧтение : bool
Устанавливает, может ли пользователь вводить данные, изменяя содержимое TextField. Режим только для чтения отличается от отключенного текстового поля тем, что текстовое поле будет выглядеть активным, и текст по-прежнему может быть выделен и скопирован.
Если readOnly установлено в true, то пользовательский ввод не повлияет на текст. Однако любые привязки или попытки установить свойство text по-прежнему будут работать.
выделениеМышью : bool
Это свойство определяет, может ли пользователь выделять текст с помощью мыши.
Значение по умолчанию true.
Это свойство QML было представлено в QtQuick.Controls 1.3.
[только для чтения] выделенныйТекст : строка
Предоставляет текст, который в данный момент выделен в текстовом поле.
Это эквивалентно следующему фрагменту кода, но быстрее и удобнее в использовании.
myTextField.text.toString().substring(myTextField.selectionStart, myTextField.selectionEnd);
[только для чтения] конецВыделения : int
Позиция курсора после последнего символа в текущем выделении.
Это свойство является только для чтения. Для изменения выделения используйте select(start,end), selectAll() или selectWord().
См. также selectionStart, cursorPosition и выделенныйТекст.
[только для чтения] началоВыделения : int
Позиция курсора перед первым символом в текущем выделении.
Это свойство является только для чтения. Для изменения выделения используйте select(start,end), selectAll() или selectWord().
См. также конецВыделения, cursorPosition и выделенныйТекст.
стиль : Component
Стиль Component для этого элемента управления.
См. также Типы QML Qt Quick Controls Styles.
текст : строка
Это свойство содержит текст в TextField.
цветТекста : цвет
Это свойство содержит цвет текста.
валидатор : Validator
Позволяет установить валидатор для TextField. При установке валидатора TextField будет принимать только ввод, который оставляет свойство текста в промежуточном состоянии. Сигнал принятия будет отправлен только в том случае, если текст находится в приемлемом состоянии при нажатии клавиши Ввод.
В настоящее время поддерживаются валидаторы IntValidator, DoubleValidator и RegExpValidator. Пример использования валидаторов показан ниже, который позволяет вводить целые числа от 11 до 31 в поле ввода:
import QtQuick 2.2
import QtQuick.Controls 1.2
TextField {
validator: IntValidator {bottom: 11; top: 31;}
focus: true
} См. также acceptableInput, маскаВвода и accepted.
вертикальноеВыравнивание : перечисление
Устанавливает выравнивание текста по вертикали внутри элемента TextField.
Возможные значения выравнивания:
Документация сигналов
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/qt-5.9/qml-qtquick-controls-textfield.html