Seite 1 von 1

In einem QTextEdit markieren

Verfasst: 8. Dezember 2009 11:33
von Weedjo
Hallo,

ich möchte in einem QTextEdit an einer bestimmten Position den Text markieren. Suche dazu eine funktion setselect(int anfang, int ende) oder sowas.

In der Dokumentation habe ich dazu nichts gefunden.
Zusätzlich bräuchte ich auch eine Funktion die mir zurückgibt an welcher Position der Benutzer gerade markiert.
Die Funktion selectionChanged() gibt mir leider nur zurück OB gerade etwas markiert ist, aber ich hätte gerne die Position.

Verfasst: 8. Dezember 2009 14:10
von -=Freaky=-
du musst den QTextCursor benutzen (http://qt.nokia.com/doc/4.5/qtextedit.html#textCursor).
dann vom QTextCursor setPosition benutzen.
z.b.

Code: Alles auswählen

void selectText( QTextEdit *textEdit, int start, int end )
{
  QTextCursor textCursor = textEdit->textCursor();
  textCursor.setPosition( start );
  textCursor.setPosition( end, QTextCursor::KeepAnchor );
  textEdit->setTextCursor( textCursor );
}
ungetestet, aber so in etwa habe ich es in erinnerung ...

mfg,
julian