Noch eine sehr spezielle Frage zu Python-Qt

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

Hallo,

ich habe schon wieder ein ziemlich spezielles Problem mit PyQt. Kennt sich hier
jemand mit QTextBrowser, QMimeSourceFactory und QMimeSource aus?

Ein QTextBrowser soll verlinkten HTML-formatierten Text
darstellen. Der HTML-Code wird in Python erzeugt, um die Attribute und
Beziehungen spezieller Python-Objekte zu visualisieren.

Wenn ich zuerst die Daten als HTML-Dateien im Filesystem erzeuge, klappt auch
alles. Bei bis zu 100.000 Objekten müßte ich allerdings genauso viele
HTML-Dateien erstellen... ein bißchen zu aufwendig und langsam. Also dachte ich
dran, den HTML-Code beim Klicken eines Links erst on-demand zu
erstellen, und dem QTextBrowser dann unterzuschieben. Dazu habe ich
eine Kindklasse von QMimeSourceFactory erstellt, deren data()-Methode
dann erst den HTML-Code erzeugt und ein entsprechendes
QMimeSource-Objekt zurückgibt. Diese spezielle QMimeSourceFactory wird
vom QTextBrowser genutzt, wenn Dokumente angefordert werden. Das ganze klappt
allerdings überhaupt nicht, das Programm verabschiedet sich sofort mit SegFault.

Wenn ich statt dessen alle HTML-"Files" als Strings erstelle und mittels der
setText()-Methode bei der QMimeSourceFactory registriere, klappt alles wunderbar.

Falls also jemand wirklich bis hier her gelesen hat und immer noch weiß, wovon ich spreche:
Bin ich insgesamt auf dem Holzweg, oder sollte das prinzipiell gehen? Oder gibt es
einen besseren Weg?
Antworten