Daten aus QTextDocument

Alles rund um die Programmierung mit Qt
Antworten
GSoft
Beiträge: 24
Registriert: 30. Dezember 2008 01:16
Wohnort: NRW

Daten aus QTextDocument

Beitrag von GSoft »

Hi Leute,

ich möchte mir ein RichText-Editor basteln, ich benötige eine Text-Komponente für eine meiner Anwendungen. Da ich bisher keine Text-Komponente gefunden habe die meinen Anforderungen erfüllt, möchte ich mir mein eigenes Control schreiben.

Dafür habe ich mir die Qt-RichText (QTextDocument) Dokumentation schon angeguckt und bin eigentlich der Meinung das man damit relativ viel machen kann und dies auch meinen Anforderungen genügen dürfte.

Ein Problem möchte ich aber schon geklärt wissen, bevor ich mich mit den Programmieren beginnen möchte.

Laut der Qt-RichText-Dokumentation wird intern eine "Baum"-Struktur als Format verwendet, was soweit auch ok/gut ist. Mein Problem ist allerdings wie komme ich an diese Daten/Struktur dran?

Der Hintergrund, wenn ich mit toHtml(), oder toPlainText() an den Inhalt dran komme und diese Sachen abspeicher und auch wenn ich den Text von HTML/PlainText lade, werden intern Konvertierungen durchgeführt die ggf. das Aussehen etc. des Dokuments verändern können.

Da ich die Daten binär und gezippt in eine Datei oder Datenbank schreiben möchte, wollte ich fragen ob einer von euch mir verraten kann wie ich an die interne Struktur/die Daten dran kommen kann? (ich wünschte mir von Qt eine data()-Funktion die ein QByteArray zurückliefert :D)

Hoffe und bitte um eure Hilfe.

Gruß
GSoft
Lerne aus den Fehlern Anderer! Du hast nicht die Zeit sie selbst zu machen.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

QTextBlock heist das Zauberwort.
GSoft
Beiträge: 24
Registriert: 30. Dezember 2008 01:16
Wohnort: NRW

Beitrag von GSoft »

und durch welche Methode komme ich an die Daten um die in einem Stream etc. Datenbankfeld (durch ein QByteArray) zu speichern?

Gruß
GSoft
Lerne aus den Fehlern Anderer! Du hast nicht die Zeit sie selbst zu machen.
GSoft
Beiträge: 24
Registriert: 30. Dezember 2008 01:16
Wohnort: NRW

Beitrag von GSoft »

Hi Leute,

nur damit ihr ungefähr wissen könnt wie weit ich schon bin.

Also ich könnte ja eine Klasse von QDataStream ableiten und für jeden Typ den in über Methoden aus QTextBlock bekommen kann (z. B. QTextList *, QTextLayout etc.) den Operator << überschreiben und in der Implementation diese Klassen soweit ausdrösseln bis nur noch bis char*, int etc. übrigbleiben und diese dann in den Stream schreiben.

Allerdings ist das ein nicht kleiner Aufwand, den ich gerne betreiben werden, wenn es keine alternative bzw. bessere Möglichkeit gibt. Wenn jemand eine Idee bzw. andere Möglichkeit kennt, würde ich mich sehr über euren Vorschlag/Anregung freuen.

Gruß
GSoft
Lerne aus den Fehlern Anderer! Du hast nicht die Zeit sie selbst zu machen.
archer
Beiträge: 306
Registriert: 2. Februar 2006 09:56

Beitrag von archer »

Was ist denn mit QTextDocumentWriter?
GSoft
Beiträge: 24
Registriert: 30. Dezember 2008 01:16
Wohnort: NRW

Beitrag von GSoft »

Damit kann ich die daten als html, plain text und odf speichern, allerdings habe ich nachher keine Möglichkeit die Daten von odf etc. in das QTextDocument zu laden.

Gruß
GSoff

[edit]
Ok es ist möglich plain text und html in das TextDocument zu bekommen, allerdings ist das keine Option für mich, da einfach zuviel beim Laden/Konvertieren "verloren" geht.
Lerne aus den Fehlern Anderer! Du hast nicht die Zeit sie selbst zu machen.
Antworten