0

PyQT の QWebView コントロールによって表示される HTML ページがあります。この HTML ページは、以下に示すように「input」要素で構成されています

    <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 に答える