Текстовое поле TextField не возвращает значение в QML | QT 5.12 - PullRequest
1 голос
/ 18 июня 2019

мне нужна помощь.Вот мой код:

TextField {
    id: passwordIDText
    placeholderText: "Insert text..."
    color: "Black"
    font.bold: true
    font.pixelSize: 21
    anchors.top: parent.top
    anchors.topMargin: parent.height / 10
    anchors.horizontalCenter: parent.horizontalCenter
    text: "aaa"
}

Я использую Android 8 (P20), QT 12.4, Android NDK 20 и Android SDK 28. Поэтому, когда я нажимаю кнопку на экране Android (я использую 20для тестирования), в отладке, для получения пароля IDText.text, поле пустое, почему ??Но если я установил текст: «aaa» жестко запрограммирован, я получу passwordIDText.text = «aaa».

Проблема выглядит так: TextField не получает значение, вставленное пользователем.Я вставил 123456 в TextField на экране и нажал кнопку:

MouseArea {
    anchors.fill: parent
    onClicked: {
        var test = passwordIDText.text;
        //passwordIDText.text is empty wtf !??

    }
}

Так у кого-то есть такая же проблема?На более старой версии Android TextField работает правильно.

Моя конфигурация:

enter image description here

1 Ответ

2 голосов
/ 18 июня 2019

Я полагаю, что это может быть проблема, аналогичная этому вопросу , связанная с тем, что предикативный текст не был зафиксирован в тот момент, когда вам необходим доступ к нему.

Попробуйте использовать passwordIDText.displayText вместо passwordIDText.text.

В качестве альтернативы вы можете отключить интеллектуальный ввод текста:

inputMethodHints: Qt.ImhNoPredictiveText

...