2016-06-29 7 views
3

UPDATE: Ich benutze javaScriptConsoleMessage und bekam eine Nachricht dort Seiten:.Was ist der Unterschied zwischen webView.load (QUrl) und QNetworkAccessManager.get (Qurl) in QT?

Can't find variable: jQuery 

Ich benutze PyQt auf mein Projekt Heute möchte ich von webView.load (QUrl) zu QNetworkAccessManager.get den Webzugriff Weise ändern, (Qurl), weil webView.load (QUrl) async nicht verwenden kann.

wie unten:

vor:

self.webView.load(QUrl(input_url)) 

nach:

AM = QNetworkAccessManager(parent=self) 
self.net_reply= AM.get(net_requests) 
AM.finished.connect(self.setweb) 

def setweb(self, netreply): 
    replyArray = netreply.readAll() 
    self.qwebView.page().mainFrame().setContent(replyArray) 

Nach verändertem, Es funktioniert gut in den meisten Websites, aber in einigen Websites (zB http://www.china.com.cn) die Die Ansicht ist nicht so gut, genauso wie sie keinen CSS-Stil haben. Wie kann ich den Code ändern, um die richtige Ansicht wie webView.load (QUrl) zu bekommen?

Antwort

1

Ich vermute, das Problem ist mit setContent() keine externen Ressourcen in der Lage (wie CSS) geladen werden, da Sie nicht mit dem baseUrl Parameter mit QWebView zu sagen, wo von externen Anfragen zu machen. Sie können auch QWebView::setHtml(...) als Verknüpfung verwenden, um den MIME-Typ nicht wie in setContent() festzulegen.

+0

Ja Es funktioniert! Vielen Dank! – chroming

Verwandte Themen