PyQt5不再支持QtWebKit。
虽然在QtWebEngineWidgets中有一些QtWebKit类替代。但是,我找不到PyQt4中可用的QWebInspector类的替代品。
是否有任何此类或甚至任何其他选项,以便我可以使用PyQt5实现Web检查器?
编辑:Qt5.6及更高版本已删除QtWebKitWidgets
答案 0 :(得分:2)
我有点惊讶地发现QtWebKit is making a comeback。它仍然不是Qt-5.6或Qt-5.7的一部分,但它似乎可以继续作为单独的项目维护。这意味着PyQt5可以继续支持QtWebKit,即使官方的Qt5文档说它已被删除。
根据您的平台,这可能意味着如果您想使用" new"则需要安装一些额外的软件包。 PyQt5中的QtWebKit模块。
PS:
至于QtWebEngine - 如果你正在使用ubuntu / debian,你似乎必须等待它得到支持。请参阅Bug #1579265。
答案 1 :(得分:1)
我在PyQt5版本5.7.1中使用QWebInspector显示以下示例
from PyQt5.QtCore import QUrl
from PyQt5.QtWebKit import QWebSettings
from PyQt5.QtWebKitWidgets import QWebView, QWebInspector
from PyQt5.QtWidgets import QApplication, QSplitter, QVBoxLayout, QWidget
class Window(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent=parent)
self.view = QWebView(self)
self.view.settings().setAttribute(
QWebSettings.DeveloperExtrasEnabled, True)
self.inspector = QWebInspector()
self.inspector.setPage(self.view.page())
self.inspector.show()
self.splitter = QSplitter(self)
self.splitter.addWidget(self.view)
self.splitter.addWidget(self.inspector)
layout = QVBoxLayout(self)
layout.addWidget(self.splitter)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = Window()
window.view.load(QUrl('http://www.google.com'))
window.show()
sys.exit(app.exec_())