我正在将应用程序从PyQt4迁移到PyQt5。在
我试图覆盖请求拦截器,但由于某些奇怪的原因,这是不起作用的,这是没有得到拿起。我使用的是PyQt==5.10.0
class WebEngineUrlRequestInterceptor(QWebEngineUrlRequestInterceptor):
def __init__(self, parent=None):
super().__init__(parent)
def interceptRequest(self, info):
# info.setHttpHeader("X-Frame-Options", "ALLOWALL")
print("test")
print(info.requestUrl())
class MyWebEnginePage(QWebEnginePage):
# adblocker = Filter(open('easylist.txt', encoding="utf8"))
def __init__(self, parent=None):
super().__init__(parent)
def acceptNavigationRequest(self, url, _type, isMainFrame):
# urlString = url.toString()
# resp = False
# resp = WebPage.adblocker.match(url.toString())
#
# if resp:
# print("Blocking url --- "+url.toString())
# return False
# else:
# print("TYPE", _type)
# return True
print(url)
return QWebEnginePage.acceptNavigationRequest(self, url, _type, isMainFrame)
我就是这样加载浏览器的
^{pr2}$
问题是由使用
MyWebEnginePage
的构造函数引起的,正如您使用构造函数放置它一样:而不是第二个构造函数:
解决方案是传递两个参数:概要文件和父对象,如果不打算在构造函数中添加任何内容,则无需按如下所示覆盖它:
相关问题 更多 >
编程相关推荐