QText Edit über die Zeilen iterieren.
-
Hallo,
schon mal weil Dnake!
Ich möchte über die einzelnen Zeilen eines QTextEdit iteriren, d.h. ich möchte für jede Zeile eine Funktion aufrufen die mit dem Inhalt der Zeile etwas macht. Ich möchte am QTextEdit nicht verändern, nur wie gesagt mit jeder einzelnen Zeile etwas anfangen.Ich habe schonmal viel gegoogled aber noch kein so richtig passendes Beispiel gefunden. Gehe ich richtig in der Annahme, dass ich aus dem QTExtEdit ein QString machen muß, dann irgendetwas mit QTextCursor oder QList.
Kennt Jemand ein ähnliches Beispiel?
Ich bin mir da noch nicht sicher welcher Weg der beste ist und wie.Danke für die kommenden Infos!
Gruß
Oli
-
QTexEdit::document() gibt dir das darunterliegende QTextDocument.
Über dessen Blöcke kannst du dann iterieren.
-
als Text geben lassen, das Ergebnis an den Zeilenumbrüchen splitten und schon hast du deine QList<QString>
Wobei du natürlich bedenken solltest, dass ein QTextEdit mehr als nur Text enthalten kann. Das fällt dabei natürlich unter den Tisch
-
Hallo,
ich danek Euch sehr! Das sind zwei prima Ansätze.
Kennt Ihr Beispiele?
Ich kann mir im Moment wenig unter dem iterieren über Blöcke (wie komme ich an Blöcke) und unter dem splite an den Zeilenumbrüchen (gibst da ein stok oder so etwas?) vorstellen. Evtl. hängt jetzt auch nur der Groschen weil ichj mich irgendwie verrant habe. Aber danke ich werde mal unter den beiden ANsätzen weiter googeln.Danke & Gruß
Oli
-
http://doc.qt.nokia.com/4.6/qtextedit.html#document
http://doc.qt.nokia.com/4.6/qtextdocument.html#begin
http://doc.qt.nokia.com/4.6/qtextblock.html#next
http://doc.qt.nokia.com/4.6/qtextblock.html#isValid
-
PRIMA!!!!
Dankre für den Wink !
Werde damit mal ein wenig spielen.Also noch einmal Danke!
Gruß
Oli
-
Ist das der zweite Ansatz?
QString str = "a,,b,c";
QStringList list1 = str.split(",");
// list1: [ "a", "", "b", "c" ]Nur anstelle von:QStringList list1 = str.split(",");
ein: QStringList list1 = str.split("\n");
Gruß 6 dANK
Oli
-
o.teske schrieb:
Ist das der zweite Ansatz?
QString str = "a,,b,c";
QStringList list1 = str.split(",");
// list1: [ "a", "", "b", "c" ]Nur anstelle von:QStringList list1 = str.split(",");
ein: QStringList list1 = str.split("\n");
Gruß 6 dANK
Oliprobiers doch aus, dann wirst du merken, ob es funktioniert
mfg,
julian