Wie kann ich eine Markdown-Datei abfangen und als HTML anzeigen?Python

Python-Programme
Anonymous
 Wie kann ich eine Markdown-Datei abfangen und als HTML anzeigen?

Post by Anonymous »

Als Teil meiner Anwendung möchte ich QWebEngineView verwenden, um den Inhalt einer lokalen Markdown-Datei als HTML-Seite anzuzeigen. Lokale Dateien enden auf „.md“.
In Qt-Version 6.9 habe ich den folgenden Code geschrieben, um das QWebEnginePage-Verhalten zu überschreiben:

Code: Select all

from PyQt6.QtWebEngineCore import QWebEnginePage
from urllib.parse import urlparse
import markdown2

class MyView(QWebEnginePage):
def acceptNavigationRequest(self, qurl, navtype, mainframe) -> bool:
parse_info = urlparse(qurl.url())
if parse_info.scheme.lower() == "file":
if parse_info.path.lower().endswith(".md"):
my_html = markdown2.markdown_path(parse_info.path)
self.setHtml(myhtml,
baseUrl=qurl)
return False
In Qt 6.9 funktionierte dies, die Datei wurde als HTML-Seite gerendert.
Heute wurde mein System auf Qt 6.10 aktualisiert. Derselbe Code führt jetzt zum Absturz der Anwendung (keine Meldung – Exit-Code 133). Ein Blick auf die Qt 6.10-Seite „Was hat sich geändert“ gibt keinen Aufschluss darüber, warum – zumindest für mich.
Ich kann beweisen, dass der setHTML-Aufruf die Ursache für den Absturz ist, indem ich ihn auskommentiere. In diesem Fall „funktioniert“ die Anwendung (gibt aber rohen Markdown wieder, der nur einfacher Text ist).
Die Frage lautet also: Wie kann eine URL richtig abgefangen und der anzuzeigende HTML-Inhalt ersetzt werden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post