QWebView与QWebPage

时间:2014-06-24 00:12:47

标签: qt pyqt pyside qwebview qwebpage

QWebView的文档(至少在PyQt中)说:' QWebView类提供了一个用于查看和编辑Web文档的小部件,而QWebPage说: ' QWebPage类提供了一个查看和编辑Web文档的对象'。鉴于这些实际上意味着同样的事情:

  • 这两个课程的进化是否有历史原因?
  • 在任何特定情况下,使用哪一种比另一种更好?

(这源于我使用嵌入在PyQt应用程序中的javascript库的事实;我目前正在使用QWebView,但只有QWebPageQwebPage的方法{3}},所以考虑是否值得将我的代码转换为子类{{1}}而不是

1 个答案:

答案 0 :(得分:7)

从它所说的documentation

  

QWebPage拥有一个负责网页内容,设置的主框架   导航链接和操作的历史记录。这个类可以用,   与QWebFrame一起,提供像QWebView这样的功能   小部件环境。

同样QWebView继承自QWidget,而QWebPage则不会。

因此我的猜测是QWebView只是一个能够加载和显示HTML的小部件,而QWebPage可以与视图一起使用或没有视图。此外,QWebPage还具有更多功能,例如设置或nagivation历史记录。

现在,无小部件的环境就是QtCore.QCoreApplication

在您编写用于抓取网页内容的应用程序时,您似乎会使用QWebPage,而当您只想在应用程序中的某处加载和显示某些网络内容时,您希望使用QWebView。作为小部件的QWebView总是希望显示某些内容。

从历史上看,它们都是在Qt 4.4中引入的。

这些未解决的问题是他们在内部分享的内容,以及您是否可以使用QWebView使用QWebPage无法做到或无法模仿的内容?