2012-09-23 63 views
3

我使用QWebView加載一個頁面,然後我只用reload()插槽重新加載它。 loadFinished(bool)信號通常指示錯誤。我還使用QwebView的網絡訪問管理器的finished信號來獲取http響應代碼 - 它被設置爲0. 同一頁面可以在所有瀏覽器中正常加載,無論我試圖在瀏覽器中多快地加載它。如何調試這個問題,有什麼可能是錯誤的?如何調試QWebView無法加載網頁?

回答

2

您是否嘗試過得到的回覆的錯誤代碼和錯誤信息,如:

class Browser(object): 

    def __init__(self): 
     self.network_manager = QNetworkAccessManager() 
     self.network_manager.finished.connect(self._request_finished) 

     self.web_page = QWebPage() 
     self.web_page.setNetworkAccessManager(self.network_manager) 

     self.web_view = QWebView() 
     self.web_view.setPage(self.web_page) 

    def _request_finished(self, reply): 
     print reply.error() 
     print reply.errorString() 
+0

錯誤代碼是5,消息是「操作取消」 –

+0

在這一點,你打重裝功能,後無論頁面是否加載,loadFinished都會發出,或者只是連續發送?如果是這種情況,那應該是你得到OperationCanceledError的原因。 – andrean

+0

我明白了,謝謝!我在定時器上重新加載頁面,並且不檢查以前的加載是否完成。 –