Mit append hänge ich an ein texteditfeld immer neue Einträge an. Nun komme ich so irgendwan am unteren Rand an, und möchte aber das dann weitergescrollt wird. Folgender Code sollte funktionieren, aber bei mir tut sich gar nichts:
GUI.TextEditStatus->append(line.str().c_str());
QTextCursor c = GUI.TextEditStatus->textCursor();
c.movePosition(QTextCursor::End);
GUI.TextEditStatus->setTextCursor(c);
GUI.TextEditStatus->ensureCursorVisible(); // macht keinen Unterschied ob die Zeile vorhanden ist oder nicjt
Weiß jemand warum oder hat noch eine andere Lösung?
Also wenn nichts im TextEdit steht und man immer nur appends macht, dann scrollt er automatisch mit. Es sei den man fast als Nutzer die Scrollbars an. Anscheint funktioniert das Scrollen immer dann und nur dann, wenn der Cursor auf der letzten Position im TextEdit steht. Man kann das Scrollen im Fall das der Cursor nicht am Ende steht, durch GUI.TextEditStatus->ensureCursorVisible(); immer wieder erzwingen, es hakt sich aber nicht mehr ein.
altes Thema, aber gerade bei mir wieder aktuell. Ich brauche ein einfaches logFenster, ganz nach dem 'tail -f' Motto.
Habe mir mit ner wrapper function geholfen: