【问题标题】:QWebView vs QWebPageQWebView 与 QWebPage
【发布时间】:2023-03-11 00:59:01
【问题描述】:
QWebView 的文档(至少在 PyQt 中)说:“QWebView 类提供了一个用于查看和编辑 Web 文档的小部件”,而 QWebPage 说:“QWebPage 类提供了一个可以查看的对象和编辑网络文档”。鉴于这些实际上意味着同一件事:
- 这两个职业的演变是否有历史原因?
- 在任何特定情况下,其中一种是否比另一种更好用?
(这是因为我使用的是嵌入在 PyQt 应用程序中的 javascript 库;我目前使用的是QWebView,但只有QWebPage 有catching javascript errors 的方法,所以正在考虑是否值得将我的代码转换为QwebPage 的子类)
【问题讨论】:
标签:
qt
pyqt
pyside
qwebview
qwebpage
【解决方案1】:
来自documentation 它说
QWebPage 拥有一个主框架,负责网页内容、设置、
导航链接和操作的历史记录。可以使用这个类,
与 QWebFrame 一起提供类似 QWebView 的功能
无小部件的环境。
同样QWebView 继承自QWidget 而QWebPage 没有。
因此,我的猜测是 QWebView 只是一个能够加载和显示 HTML 的小部件,而 QWebPage 可以与视图一起使用,也可以不与视图一起使用。此外,QWebPage 具有更多功能,例如设置或导航历史记录。
现在一个没有小部件的环境是例如QtCore.QCoreApplication。
您似乎会使用QWebPage,例如在编写用于抓取网页内容的应用程序时,而当您只想在应用程序的某处加载和显示一些网页内容时,您更喜欢QWebView。 QWebView 作为一个小部件总是想显示一些东西。
从历史上看,它们都是在 Qt 4.4 中引入的。
悬而未决的问题是他们在内部共享了多少,如果有什么你不能用QWebView 做或不能模仿你可以用QWebPage 做吗?