Вы можете изменить значение текстового поля, оценив некоторый пользовательский код JavaScript в WebView
:
webViewId.evaluateJavaScript("document.getElementById('textInputId').value = '" + yourValueString + "'")
Документация здесь .
Edit:
Для активации клавиатуры вы можете обратиться к свойству javaScriptWindowObjects : вы можете активировать его, например, в событии body onload
или в текстовом поле onfocus
event.
Edit2:
Я добавляю простой пример, чтобы объяснить, что я пытаюсь сказать:
Я предполагаю, что у вас есть пользовательский элемент QML с именем Keyboard
, и что этот элемент имеет сигнал onKeyPress
, вызываемый при каждом нажатии клавиши.
Ваш код должен выглядеть примерно так:
WebView {
id: webViewId
javaScriptWindowObjects: QtObject {
WebView.windowObjectName: "qml"
function showKeyboard {
keyboardId.opacity = 1;
}
}
onLoadFinished: {
evaluateJavaScript("document.getElementById('textInputId').onfocus = window.qml.showKeyboard;")
}
}
Keyboard {
id: keyboardId
opacity: 0
onKeyPress: {
webViewId.evaluateJavaScript("document.getElementById('textInputId').value += '" + keyValue + "'")
}
}