首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QWebView对QWebPage

QWebView对QWebPage
EN

Stack Overflow用户
提问于 2014-06-24 00:12:47
回答 2查看 2.4K关注 0票数 6

用于PyQt的文档(至少在QWebView中)表示:“QWebView类提供了用于查看和编辑web文档的小部件”,而QWebPage则表示:“QWebPage类提供了查看和编辑web文档的对象”。考虑到这些实际上意味着同样的事情:

  • 这两个类的演变有什么历史原因吗?
  • 在任何特定情况下,一种是否比另一种更好呢?

(这是因为我使用的是嵌入在PyQt应用程序中的javascript库;我目前正在使用QWebView,但只有QWebPage有一个用于捕获javascript错误的方法,因此正在考虑是否值得将代码转换为QwebPage子类)

EN

回答 2

Stack Overflow用户

发布于 2014-06-24 09:31:22

文档上说

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

而且,QWebView是从QWidget继承的,而QWebPage则不是。

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

现在,一个没有小部件的环境是例如QtCore.QCoreApplication

例如,在编写应用程序以抓取web内容时,您似乎会使用QWebPage,而当您只想在应用程序中的某个地方加载和显示某些web内容时,您更喜欢使用QWebView。作为一个小部件,QWebView总是想要显示一些东西。

历史上,它们都是在Qt4.4中引入的。

公开的问题是他们在内部共享了多少,如果有什么事情你不能做或者不能模仿QWebView,你可以用QWebPage来做。

票数 7
EN

Stack Overflow用户

发布于 2022-01-16 19:44:29

QWebView是一个拥有QWebPageQWidget。如果您构建了一个基于小部件的应用程序,那么使用QWebView并使用QWebView::setPage()设置您自己的页面。当然,您可以将QWebPage子类的对象传递给该函数。

您可以使用QWebView::page()访问小部件的当前页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24376501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档