用于PyQt的文档(至少在QWebView中)表示:“QWebView类提供了用于查看和编辑web文档的小部件”,而QWebPage则表示:“QWebPage类提供了查看和编辑web文档的对象”。考虑到这些实际上意味着同样的事情:
(这是因为我使用的是嵌入在PyQt应用程序中的javascript库;我目前正在使用QWebView,但只有QWebPage有一个用于捕获javascript错误的方法,因此正在考虑是否值得将代码转换为QwebPage子类)
发布于 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来做。
发布于 2022-01-16 19:44:29
QWebView是一个拥有QWebPage的QWidget。如果您构建了一个基于小部件的应用程序,那么使用QWebView并使用QWebView::setPage()设置您自己的页面。当然,您可以将QWebPage子类的对象传递给该函数。
您可以使用QWebView::page()访问小部件的当前页面。
https://stackoverflow.com/questions/24376501
复制相似问题