Qt WebEngine中QWebInspector的替代方法是什么?

代码段的示例在这里:

from PySide2 import QtCore,QtGui,QtWidgets,QtWebChannel
from PySide2.QtWebEngineWidgets import QWebEngineView,QWebEnginesettings

class AppWindow(QtWidgets.QMainWindow):

    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        self.view = WebView(self)
        self.setCentralWidget(self.view)
        self.view.settings().setattribute(QWebEnginesettings.JavascriptEnabled,True)
        self.view.settings().setattribute(QWebEnginesettings.PluginsEnabled,True);
        self.page = self.view.page()
        self.page.setDevToolsPage(self.page)

        #self.inspector = QWebInspector(self) # Crash is here!!!
        #self.inspector.setPage(self.page)
        #self.inspector.hide()

上面的三行代码在以前的版本中运行良好。

PySide2中QWebInspector的替代方案是什么?

gillettcool 回答:Qt WebEngine中QWebInspector的替代方法是什么?

QWebEngine没有等效的QWebInspector类,因为开发工具由底层的Chrome浏览器提供。需要设置环境变量以启用工具,然后您可以通过单独的基于Chrome的浏览器访问它们-有关完整的详细信息,请参阅Qt5文档中的Qt WebEngine Developer Tools

下面是一个基于您的示例代码的简单演示:

enter image description here

import sys,os

DEBUG_PORT = '5588'
DEBUG_URL = 'http://127.0.0.1:%s' % DEBUG_PORT
os.environ['QTWEBENGINE_REMOTE_DEBUGGING'] = DEBUG_PORT

from PySide2 import QtCore,QtGui,QtWidgets,QtWebChannel
from PySide2.QtWebEngineWidgets import QWebEngineView,QWebEngineSettings

class AppWindow(QtWidgets.QMainWindow):
    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        self.view = QWebEngineView(self)
        self.setCentralWidget(self.view)
        self.view.settings().setAttribute(QWebEngineSettings.JavascriptEnabled,True)
        self.view.settings().setAttribute(QWebEngineSettings.PluginsEnabled,True)

        self.view.loadFinished.connect(self.handleLoaded)
        self.view.load('https://google.com/')

        self.inspector = QWebEngineView()
        self.inspector.setWindowTitle('Web Inspector')
        self.inspector.load(QtCore.QUrl(DEBUG_URL))

    def handleLoaded(self,ok):
        if ok:
            self.view.page().setDevToolsPage(self.inspector.page())
            self.inspector.show()

app = QtWidgets.QApplication(sys.argv)
win = AppWindow()
win.setGeometry(600,100,600,480)
win.show()
app.exec_()
本文链接:https://www.f2er.com/3090825.html

大家都在问