QWebView not loading external resources
我正在使用qt和pyqt4开发Kiosk Web浏览器。除了一个怪癖,QWebView似乎工作得很好。
如果由于任何原因无法加载URL,我希望将用户重定向到自定义错误页。我使用loadFinished()信号检查结果,并在必要时使用qwebview.load()将URL更改为自定义页面。但是,我尝试在这里加载的任何页面都无法拉入外部资源,如CSS或图像。
使用qwebview.load()在启动时设置初始页面似乎工作正常,单击自定义错误页面上的任何链接将导致目标页面加载正常。只是错误页面不起作用。
我真的不知道下一步该去哪里。我已经包含了一个应用程序的源代码,它将复制下面的问题。它将URL作为命令行参数-有效的URL将正确显示,错误的URL(如DNS解析失败)将重定向到Google,但缺少徽标。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import sys from PyQt4 import QtGui, QtCore, QtWebKit class MyWebView(QtWebKit.QWebView): def __init__(self, parent=None): QtWebKit.QWebView.__init__(self, parent) self.resize(800, 600) self.load(QtCore.QUrl(sys.argv[1])) self.connect(self, QtCore.SIGNAL('loadFinished(bool)'), self.checkLoadResult) def checkLoadResult(self, result): if (result == False): self.load(QtCore.QUrl('http://google.com')) app = QtGui.QApplication(sys.argv) main = MyWebView() main.show() sys.exit(app.exec_()) |
如果有人能提供一些建议,我们将不胜感激。
不知道为什么这不起作用,而是像
1 2 3 4 5 6 7 | def checkLoadResult(self, result): if (result == False): self.page().mainFrame().setHtml ("<html><head>Not Found</head>\ <body><p> Search at google \ </p></body> </html>") |
做。