Text in QTextEdit auswählen

Alles rund um die Programmierung mit Qt
Antworten
sea_bear
Beiträge: 61
Registriert: 9. Oktober 2005 16:40
Wohnort: Schortens

Text in QTextEdit auswählen

Beitrag von sea_bear »

Hallo!

Also, ich versuche zur Zeit in einem TextEdit einen Textteil zu finden und dann in ein QString zu kopieren. Genauer gesagt möchte ich den Teil kopieren, welcher zwischen zwei Tags steht. Also die z.B. den Zeitstempel zwischen den Tags.

Code: Alles auswählen

<time>2007-07-06T15:57:36Z</time>
Mein Code sieht bis jetzt wie folgt aus:

Code: Alles auswählen

   textEdit->find("<time>");
   int pos1 = textEdit->textCursor().position();
   textEdit->find("</time>");
   int pos2 = textEdit->textCursor().position();
   textEdit->textCursor().clearSelection();
   textEdit->textCursor().setPosition(pos1,QTextCursor::MoveAnchor);
   pos1 = textEdit->textCursor().position();
   textEdit->textCursor().movePosition(QTextCursor::Right,QTextCursor::KeepAnchor,(pos2-pos1));
   QString TIMETAG = textEdit->textCursor().selectedText();
Leider funktioniert das einfach nicht. Ich bekomme immer nur "</time>" als Ergebnis!!
Was mache ich falsh, bzw. wie mache ich es richtig?

Ich nutze OpenSuse 10.2 mit Qt4 und KDevelop

mfg
Tobias
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Schon mal was von Regular Expressions gehört? Mit QRegExp geht das deutlich einfacher, als die Klimmzüge mit denen Du versuchst zum Ziel zu erreichen.
http://doc.trolltech.com/4.3/qregexp.html#cap
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Antworten