0

我有一个由 PyQT 中的 QWebView 控件显示的 HTML 页面。此 HTML 页面包含一个“输入”元素,如下所示

    <html>
     <body>
      <input id="username"></input>
     </body>
    <html>

下面给出了显示上述 html 的 python 部分的代码片段

    view = QWebView()
    view.load('myview.html')
    view.show()

我正在处理 python 部分中 QWebView 的关键事件,如下所示

    def keyPressEvent(self, event):
        print event.Key()

这很好用;我可以看到 QWebView 中触发了哪个键。但是,一旦我单击输入元素并尝试编辑几个值,这些键就不会进入 keyPressEvent。我认为它是在 html 元素本身内部处理的。我只想同时将这些关键事件传递给我的 python 部分;我正在考虑进行一些黑客工作来完成此任务。

任何解决方案将不胜感激。

提前致谢

4

1 回答 1

0

我会尝试使用您的QWebView来获取QWebElement将接收 html 输入的内容。

documentElement = view.page().currentFrame().documentElement()
input = documentElement.findFirst('input[id="username"]')

现在您已经掌握了,input您可以在之后阅读它,keyPressEvent或者直接连接到QWebElement(这可能是不可能的)。

您可以简单地恢复文本

 print unicode(input.toOuterXml())
于 2013-05-22T12:21:58.930 回答