我需要帮助。 这是我的代码:
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可以正常工作。
我的配置:
答案 0 :(得分:2)
我认为这可能是与this question类似的问题,与在您需要访问预测性文本时未提交预测性文本有关。
尝试使用passwordIDText.displayText
代替passwordIDText.text
。
或者,您可以拒绝预想输入法:
inputMethodHints: Qt.ImhNoPredictiveText
答案 1 :(得分:1)
'ImhNoPredictiveText'不能解决我在Qt 5.14中的问题。所以我用
inputMethodHints: Qt.ImhSensitiveData
效果很好。