qt - QWebView 与 QWebPage

标签 qt pyqt pyside qwebview qwebpage

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

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

  • (这源于我使用的是嵌入在 PyQt 应用程序中的 javascript 库;我目前使用的是 QWebView ,但只有 QWebPagecatching javascript errors 的方法,因此正在考虑是否值得翻译我的代码子类 QwebPage 代替)

    最佳答案

    来自 documentation它说

    QWebPage holds a main frame responsible for web content, settings, the history of navigated links and actions. This class can be used, together with QWebFrame, to provide functionality like QWebView in a widget-less environment.



    还有 QWebView继承自 QWidgetQWebPage才不是。

    因此,我的猜测是 QWebView只是一个能够加载和显示 HTML 的小部件,同时 QWebPage可以与 View 一起使用,也可以不使用 View 。还有 QWebPage具有更多功能,如设置或导航历史。

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

    看来你会用 QWebPage例如,在编写用于抓取 Web 内容的应用程序时,您更喜欢 QWebView当您只想在应用程序中的某处加载和显示一些 Web 内容时。 QWebView作为一个小部件总是想要显示一些东西。

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

    开放的问题是他们在内部共享了多少,以及是否有您无法做或无法效仿的事情 QWebView你可以用 QWebPage ?

    关于qt - QWebView 与 QWebPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24376501/

    相关文章:

    c++ - 遍历一个类的所有公共(public)方法

    python - 改变PNG图像的颜色 QPushbutton

    python - 代理背后的 PyQt + QtWebkit

    python - PySide:如何让 Visual Studio 的 Intellisense 获取 PySide 库以自动完成?

    c++ - 在eventFilter触发之前发出对象的事件

    c++ - 如何隐藏 QTreeView 中的某些列?

    python - PyQt 代码拆分——设计与功能

    python - PYQT4 - 如何编译 qrc 文件并将其导入到我的程序中?

    python - 通过 QValidator 验证可编辑的 QCombobox 输入是否是目录

    python - 如何在 QTextEdit 中滚动行号