Seite 1 von 1

Textzeile aus QTextEdit auslesen

Verfasst: 30. Oktober 2008 15:55
von MQ
hallo,

gibt es eine einfache Methode zum Auslesen einer bestimmten Zeile aus dem Inhalt eines QTextEdits?

Soweit ich das sehe, müsste ich diverse Einzelaktionen ausführen, wie Cursor in entsprechende Zeile, zum Zeilenanfang, Anker setzen, zum Zeileende, etc....

Ich habe es mal wie folgt umgesetzt, doch es geht nicht. Die Cursorposition bleibt immer an derselben Stelle. Was hab' ich hier falsch verstanden??

Code: Alles auswählen

QString jhx::getLine()
{  QString content;
   
   int altposition = textEdit->textCursor().position();

   textEdit->textCursor().movePosition( QTextCursor::Up, QTextCursor::MoveAnchor, 1);
   textEdit->textCursor().movePosition( QTextCursor::StartOfLine, QTextCursor::MoveAnchor, 1);
   int pos1 = textEdit->textCursor().position();
   textEdit->textCursor().movePosition( QTextCursor::EndOfLine, QTextCursor::KeepAnchor, 1);
   int pos2 = textEdit->textCursor().position();
   content = textEdit->textCursor().selectedText();
   textEdit->textCursor().setPosition( altposition, QTextCursor::MoveAnchor);
   int pos3 = textEdit->textCursor().position();
   return content;
}
Gruß
MQ

Verfasst: 30. Oktober 2008 16:18
von upsala
Returns a copy of the QTextCursor that represents the currently visible cursor. Note that changes on the returned cursor do not affect QTextEdit's cursor; use setTextCursor() to update the visible cursor.
Du arbeitest in jeder Code-Zeile mit einer Cursor-Kopie und verwirfst sie dann wieder...

Hol dir einmal die Kopie und arbeite nur mit dieser. Wäre auch weniger zu schreiben...