QML-тип EnterKey
Контролирует внешний вид и поведение клавиши ввода в виртуальной клавиатуре. Подробнее…
Строка импорта: | import Sailfish.Silica 1.0 |
Свойства
- enabled : bool
- highlighted : bool
- iconSource : url
- text : string
Сигналы
Подробное описание
Прикрепляемое свойство EnterKey
предоставляет набор свойств для управления внешним видом и
поведением клавиши «Enter» в виртуальной клавиатуре.
На страницах приложений ОС Аврора при отображении однострочных текстовых полей нажатие клавиши «Enter» (при условии, что текстовое поле имеет фокус) приводит к тому, что фокус перемещается к следующему текстовому полю. Если фокус находится на последнем (или единственном) текстовом поле на странице, то нажатие клавиши «Enter» закрывает виртуальную клавиатуру. Значок на клавише «Enter» может меняться в зависимости от требуемого поведения.
В примере ниже приведены три текстовых поля, которые управляют внешним видом и поведением клавиши «Enter»:
import QtQuick 2.2
import Sailfish.Silica 1.0
Dialog {
Column {
width: parent.width
DialogHeader {}
TextField {
width: parent.width
placeholderText: "Имя"
label: placeholderText
// Разрешать нажатие кнопки «Enter» только при наличии текста
EnterKey.enabled: text.length > 0
/// Отображать значок «Next», чтобы указать на то, что нажатие кнопки «Enter»
// переместит фокус клавиатуры на следующее текстовое поле
EnterKey.iconSource: "image://theme/icon-m-enter-next"
// При нажатии кнопки «Enter» фокус клавиатуры переносится
// на следующее текстовое поле
EnterKey.onClicked: lastNameField.focus = true
}
TextField {
id: lastNameField
width: parent.width
placeholderText: "Фамилия"
label: placeholderText
EnterKey.enabled: text.length > 0
EnterKey.iconSource: "image://theme/icon-m-enter-next"
EnterKey.onClicked: emailField.focus = true
}
TextField {
id: emailField
width: parent.width
placeholderText: "Почта"
label: placeholderText
EnterKey.enabled: text.length > 0
// Значок 'далее' означает, что нажатие клавиши «Enter» закроет
// виртуальную клавиатуру
EnterKey.iconSource: "image://theme/icon-m-enter-close"
// При нажатии клавиши «Enter» виртуальная клавиатура закроется
EnterKey.onClicked: focus = false
}
}
}
Приложение также может выполнять некоторые действия после нажатия клавиши «Enter» на последнем текстовом поле. Например, если данные, вводимые пользователем на странице, предназначены для создания учетной записи, то нажатие клавиши «Enter» на последнем текстовом поле может принять диалог для создания этой учетной записи:
Dialog {
id: dialog
Column {
// [код для заголовка диалога (тип DialogHeader) и двух текстовых полей]
TextField {
id: emailField
width: parent.width
placeholderText: "Email"
label: placeholderText
EnterKey.enabled: text.length > 0
EnterKey.iconSource: "image://theme/icon-m-enter-close"
// При нажатии клавиши «Enter» диалог принимается
EnterKey.onClicked: dialog.accept()
}
}
// Создать учетную запись после принятия диалога
onAccepted: createAccount()
}
Описание свойств
enabled : bool
При значении true
клавиша «Enter» включена (может быть нажата). С помощью этого свойства можно отключить клавишу
«Enter» до ввода в текстовое поле допустимого значения.
Значение по умолчанию: true
.
highlighted : bool
При значении true
клавиша «Enter» подсвечивается. С помощью этого свойства можно привлечь внимание пользователя к
клавише «Enter» при выполнении определенного условия, чтобы пользователь мог перейти к следующему действию.
Значение по умолчанию: false
.
iconSource : url
Заменяет метку на клавише «Enter» на значок по указанному URL.
В качестве значков рекомендуется использовать следующие URL из текущей темы:
- "image://theme/icon-m-enter-close" — клавиша «Enter» закроет виртуальную клавиатуру;
- "image://theme/icon-m-enter-next" — клавиша «Enter» переместит фокус на следующее текстовое поле;
- "image://theme/icon-m-enter-accept" — клавиша «Enter» активирует действие (например, принятие диалога).
Например, в данном коде используется значок «Далее».
import QtQuick 2.2
import Sailfish.Silica 1.0
TextField {
width: parent.width
placeholderText: "Имя"
EnterKey.enabled: text.length > 0
EnterKey.iconSource: "image://theme/icon-m-enter-next"
EnterKey.onClicked: lastName.focus = true
}
text : string
Установка данного свойства переопределяет текст на клавише «Enter». Примечание: размеры клавиши «Enter» могут варьироваться, поэтому длинный текст может не уместиться на клавише целиком.
Описание сигналов
onClicked()
Обработчик данного сигнала вызывается при нажатии клавиши «Enter» на виртуальной клавиатуре или нажатии клавиш «Return» или «Enter» на аппаратной клавиатуре.