查看完整版本: [-- QWebView如何获得光标所在的HTML控件【已解决】 --]

QTCN开发网 -> Qt基础编程 -> QWebView如何获得光标所在的HTML控件【已解决】 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

david1024 2010-08-25 19:57

QWebView如何获得光标所在的HTML控件【已解决】

比如说QWebView显示了一个注册页面,注册页面里有用户名、密码等文本框,我想通过光标位置获得哪个文本框在等待输入,谢谢!

david1024 2010-08-26 13:22
方法是用:Qt利用DOM API访问网页元素,
但有一点需要注意的是:我这里访问的网页都不是我自己写的网页,是访问互联网上的各种网页,所以网页元素的名称、ID等等都不能确定了,像javascript的document.getElementById()和document.getElementByName()等等函数是不能用的。

所以我的方法是:
         QWebFrame  *frame=this->page()->currentFrame();

         QWebElement  document=frame->documentElement();

         QWebElementCollection   elemColl=document.findAll(tr("input"));//到这里会找出所有的<input>控件(其他HTML控件类似,用法跟CSS的选择符一样)

         QWebElementCollection::iteratoriter=elemColl.begin();

         while(iter!=elemColl.end()){
                 QWebElement   elem=*iter

                 if(elem.hasFocus()){
  
                         //elem这个元素就是当前光标所在的HTML控件
                        break;
                 }

                 iter++;
          }


linlin3233 2010-08-26 17:01
学习了,


查看完整版本: [-- QWebView如何获得光标所在的HTML控件【已解决】 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled