获取WebEngineView qml中的光标位置

时间:2018-08-25 07:11:50

标签: qt qml

我在Qt中有一个程序,在其中有一个WebEngineView。我想当用户单击webEngine中的输入框时,已经加载了一个键盘,并且该输入框从我的键盘上获取了内容(我写了自己的键盘),但是我无法做到。我在下面尝试代码,但不起作用

WebEngineView {
    anchors.fill:parent
    id:webEng
    url: "https://example.com"
    visible: true
    MouseArea {
        id : mousearea
        anchors.fill: parent
        onClicked: {
           mykeyboard.visible=true;
        }  
    }
}

1 个答案:

答案 0 :(得分:0)

这不是一个完整的答案,但是此代码可以帮助您

getImage()
  • import QtQuick 2.10 import QtWebView 1.1 import QtQuick.Controls 1.4 import QtWebEngine 1.7 Item { width: 1280 height: 720 WebView { // or WebEngineView { id: webview width: 1280 height: 720 url: "http://google.com" visible: true onLoadingChanged: { if (loadRequest.status === WebView.LoadSucceededStatus) { console.log("Loaded!!") webview.runJavaScript(' var input = document.getElementById("lst-ib"); input.addEventListener("click", function() { alert("Clicked!"); }); ' ) } } } Rectangle { id: myDummyKeyboard anchors.bottom: parent.bottom width: parent.width height: 100 color: "gray" visible: true border.width: 20 Button { anchors.centerIn: parent text: "Dummy" onClicked: { webview.runJavaScript('document.getElementById("lst-ib").value += "' + text + '"'); } } } } (或WebView)中的部件允许在单击输入时显示警报。但是,缺少一些东西,无法将其链接到QML处理程序。解决方案可能是使用WebEnginView,也可能使用{folibis在评论中说的WebChannel
  • myDummyKeyboard 定义的部分允许在用户单击矩形(假键盘)中的按钮时在输入中添加字符串。