Textzeile aus QTextEdit auslesen

Alles rund um die Programmierung mit Qt
Antworten
MQ
Beiträge: 24
Registriert: 22. Oktober 2008 08:45

Textzeile aus QTextEdit auslesen

Beitrag 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
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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...
Antworten