2016-06-30 25 views
0

Gemäß der folgenden SO Artikel: How to display html using QWebView. Python?Fehler beim Anzeigen der HTML-Seiten PyQt4 mit - QWebView

I modifiziert, um den folgenden Code von Andrean:

import sys 
from PyQt4.QtGui import QApplication 
from PyQt4.QtCore import QUrl 
from PyQt4.QtWebKit import QWebView 

class Browser(QWebView): 

    def __init__(self): 
     QWebView.__init__(self) 
     self.loadFinished.connect(self._result_available) 

    def _result_available(self, ok): 
     frame = self.page().mainFrame() 
     # print(unicode(frame.toHtml()).encode('utf-8')) 

if __name__ == '__main__': 
    app = QApplication(sys.argv) 
    view = Browser() 
    view.load(QUrl('http://www.google.com')) 
    view.show() 
    app.exec_() 

jedoch aus irgendeinem seltsamen Grund, ich kann immer noch nicht Google ansehen in meinem GUI-Fenster. Ich erhalte den folgenden Bildschirm unten (trotz 5 Minuten warten und mit voller Internet-Konnektivität)

See screenshot here

Noch wichtiger ist, ich versuche, eine Offline-HTML-Datei anzuzeigen, die Bokeh erzeugt wurden mit.

from bokeh.plotting import figure, output_file, show 

# prepare some data 
x = [1, 2, 3, 4, 5] 
y = [6, 7, 2, 4, 5] 

# create a new plot with a title and axis labels 
p = figure(title="simple line example", x_axis_label='x', y_axis_label='y') 

# add a line renderer with legend and line thickness 
p.line(x, y, legend="Temp.", line_width=2) 

# show the results 
show(p) 

Ersetzen des GUI-Skript in geeigneter Weise mit der Offline-HTML-Datei:

htmlPath = QUrl('line_example.html') 
view.load(htmlPath) 

Ich kann immer noch sieht die HTML-Datei nicht, dass ich erzeugt habe - nach wie vor das gleiche leere Fenster zeigt.

ich auch habe versucht, wie unten definiert, HTMLPath aber sie funktionieren immer noch nicht:

htmlPath = QUrl("file:///C:/Users/giranm/PycharmProjects/Dashboard%20Testing/lineGraph.html") 

htmlPath = QUrl.fromLocalFile(QFileInfo("lineGraph.html").absoluteFilePath()) 

Jeder würde die oben Arbeit zu bekommen Hilfe sehr geschätzt.

Antwort

0

Wahrscheinlich hängt es von den Versionen von Qt, PyQt ab, die Sie installiert haben.

Wenn ich Ihren Code nehme, wie es ist, funktioniert es gut für mich.

Screenshot

PyQt Version: 4.11.4

Qt-Version: 4.8.7

0

Bitte beachten Sie diese Antwort: Bokeh plots do not display in QWebView

TLDR: Offenbar laufen QWebView nicht <script> Tags, die sind benötigt, um BokehJS zu laden (das ist die JavaScript-Bibliothek, die tatsächlich die ganze Arbeit macht, um Dinge zu rendern) Inline-Ressourcen könnte eine Option sein, obwohl bewusst sein, dass QwebView nicht von Bokeh in irgendeiner sinnvollen Weise als "unterstützt" betrachtet wird.