Документация
ОС Аврора 5.1.5

QML-тип EnterKey

Контролирует внешний вид и поведение клавиши ввода в виртуальной клавиатуре. Подробнее…

Строка импорта: import Sailfish.Silica 1.0

Свойства

Сигналы

Подробное описание

Прикрепляемое свойство 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» на аппаратной клавиатуре.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.