4
我正在使用Qt和PyQt4的信息亭網頁瀏覽器。除了一個怪癖外,QWebView似乎工作得很好。QWebView無法加載外部資源
如果URL因任何原因無法加載,我想將用戶重定向到自定義錯誤頁面。我已經使用loadFinished()信號來檢查結果,並在必要時使用QWebView.load()將URL更改爲自定義頁面。但是,我嘗試在這裏加載的任何頁面都無法吸引像CSS或圖像這樣的外部資源。
在啓動時使用QWebView.load()設置初始頁面似乎工作正常,單擊自定義錯誤頁面上的任何鏈接都會導致目標頁面加載正常。這只是錯誤頁面不起作用。
我真的不知道下一步該去哪裏。我已經包含了一個可以複製下面問題的應用程序的源代碼。它將一個URL作爲命令行參數 - 一個有效的URL將正確顯示,一個錯誤的URL(例如,DNS解析失敗)將重定向到Google,但缺少徽標。
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_())
如果有人可以提供一些建議,將不勝感激。