QWebView:是否可以突出显示术语并进行键盘导航?

时间:2010-05-30 20:46:05

标签: python qt pyqt

我正在使用PyQT4的QWebView。我想

  1. 突出显示网页的条款。
  2. 在网页内进行键盘导航(例如Ctrl-N移至下一个链接)
  3. 有可能吗?

2 个答案:

答案 0 :(得分:3)

查看Qwebview findText()方法。

 bool QWebView::findText ( const QString & subString,QWebPage::FindFlags  options = 0 )
  

查找指定的字符串,subString,   在页面中,使用给定的选项。

     

如果HighlightAllOccurrences标志是   通过后,该功能将突出显示   所有出现的事件   页。所有后续调用都将延长   重点,而不是取代它,   出现新字符串。

答案 1 :(得分:1)

  1. 不是微不足道的,但可能。您可以使用QWebView实例的toHtml方法,解析它,例如使用BeautifulSoup(一定要坚持使用3.0.9! - ),在您喜欢的任何术语周围插入<span class="myhilite">...</span>(以及CSS,以准确定义视觉效果类myhilite是什么将会有修改后的HTML与setHtml - phew; - )。

  2. 我想你可以使用QWebView继承自QWidget的相应功能(我认为QWebView不会添加任何额外的相关功能),例如grabKeyboard如果您想要抓取所有键盘事件,或者addAction可以使用适当的shortcut - 但我不确定按下control-N时您想要发生什么,所以这个更有效。也许您可以根据QWebViewQWidget等许多可能的方法进行澄清......