QtWebkit和QWebElement - 获取用户输入?

时间:2010-09-08 20:50:33

标签: qt input qtwebkit qwebelement

如何在输入字段中获取userinput?

QObject::connect( webView, SIGNAL(loadStarted()), this, SLOT(slotLoadStarted()) );
void slotLoadStarted()
{
   QWebFrame *frame = webView->page()->currentFrame();

   if (frame!=NULL)
   {
      QWebElementCollection collection = frame->findAllElements("input[name=email]");

      foreach (QWebElement element, collection)
      {
        qDebug() << "element.toOuterXml" << element.toOuterXml();
        qDebug() << "element.attribute value:" << element.attribute("value");
      }       
   }

}

如果我设置属性,而不是它的工作原理,但我想抓住用户输入,任何想法?

2 个答案:

答案 0 :(得分:6)

您可以使用QWebElement::evaluateJavaScript()

qDebug() << "element.attribute value:" << element.evaluateJavaScript("this.value").toString();

答案 1 :(得分:1)

关于此问题似乎有bug。我想解决这个问题的一种方法是在JavaScript中创建一个onKeyPress事件处理程序,它将使用用于从Qt代码中读取值的更改值更新一些隐藏元素。