2017-01-14 2 views
0

Ich arbeite an einem einfachen Markdown Note Nehmer Editor, der automatisch übersetzt den Markdown-Text in HTML, die ein QWebView-Widget rendern.PyQt5 deaktivieren AutoLoadImages von QWebView wird überschreiben mein CSS-Stil

So habe ich im Grunde dieses QWebView Objekt self.html genannt, die den HTML-Code zu machen.

Ich mag nicht den img-Tag src zeigen, wenn es eine ist, aber nur zeigen ihren alternativen Text. Ich schaffe es, einen Weg zu finden, das Hochladen von Bildern mit diesem Befehl zu deaktivieren:

self.html = QWebView()  
self.html.settings().setAttribute(QWebSettings.AutoLoadImages, False) 

Es Arbeit, aber die alternative Text ist nicht zeigt. Zusätzlich dazu hat mein QWebView einen benutzerdefinierten CSS-Stylesheet wie folgt festgelegt:

self.html.settings().setUserStyleSheetUrl(QUrl.fromLocalFile(PATH+style)) 

Und in dem CSS-Blatt:

Code, tt

... 
{ 

    margin: 0 2px; 
    padding: 0 5px; 
    white-space: nowrap; 
    border: 1px solid #eaeaea; 

    background-color: #f8f8f8; 
    border-radius: 3px; 

    font-family: Consolas, 'Liberation Mono', Courier, monospace; 
    font-size: 12px; 
    color: #333333; 
    } 

... 

Jetzt ist das Problem mit der CSS-Stil, ist das, wenn ich deaktivieren die automatisch laden Bilder Einstellung, die Schriftart Code Etikett ist immer noch korrekt, aber die Hintergrundfarbe verschwinden! Wenn ich nun die Einstellung "Bilder automatisch laden" auf "true" reaktiviere, ist die Hintergrundfarbe vorhanden.


Um meine Probleme wieder aufnehmen ...

Meine Lösung der AutoLoadImages Einstellung vom QWebView zu deaktivieren war. Aber wenn ich die

  1. Alternative Text zeigt nicht, wie ich
  2. CSS Stil mögen scheint außer Kraft gesetzt werden oder nicht vollständig geladen werden

Antwort

0

So finde ich eine Lösung. Anstatt den QWebSettings.AutoLoadImages Attribut, habe ich einfach in dem CSS-Blatt setzte folgend:

img { 
    display: none; } 

jedoch der alternative Text zeigt nicht, aber das sollte den Trick für jetzt.