TextField文本字段在QML上不返回值QT 5.12

时间:2019-06-18 12:59:39

标签: android qt android-ndk qml textfield

我需要帮助。 这是我的代码:

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进行测试)时,在调试中,为了获取passwordIDText.text,该字段为空,为什么?但是,如果我设置文本:硬编码为“ aaa”,则会得到passwordIDText.text =“ aaa”。

问题外观TextField无法获得用户插入的值。我在屏幕上的TextField上插入了123456,然后单击Button:

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

    }
}

那么有人有同样的问题吗?在较旧的Android版本上,TextField可以正常工作。

我的配置:

enter image description here

2 个答案:

答案 0 :(得分:2)

我认为这可能是与this question类似的问题,与在您需要访问预测性文本时未提交预测性文本有关。

尝试使用passwordIDText.displayText代替passwordIDText.text

或者,您可以拒绝预想输入法:

inputMethodHints: Qt.ImhNoPredictiveText

答案 1 :(得分:1)

'ImhNoPredictiveText'不能解决我在Qt 5.14中的问题。所以我用

inputMethodHints: Qt.ImhSensitiveData

效果很好。