Entfernen Sie eine Zeile / einen Block aus QTextEdit

Ich kämpfe mit Block / Line Entfernung vonQTextEdit. Der folgende Code sollte (?) Funktionieren, endet jedoch aus einem mir unbekannten Grund in einer Endlosschleife. Ich habe den Verdacht, dassnext() undprevious() sind nicht willkommen wennQTextDocument wird bearbeitet.

<code>QTextBlock block = document()->begin();
while (block.isValid()) {
    if (to_do_or_not_to_do(block)) {
        QTextCursor cursor(block);
        cursor.select(QTextCursor::BlockUnderCursor);
        cursor.removeSelectedText();
    }
    block = block.next();
}
</code>

Iterieren mitQTextDocument::findBlockByNumber() und das Löschen des Blocks auf die gleiche Weise wie oben hat auch nicht funktioniert.

Ich würde mich freuen, wenn jemand mich darauf hinweisen könnte, wie ich alle Blöcke durchlaufen und sie bei Bedarf entfernen kann.

P.S.
In meinem speziellen Fall ist ein Block = eine Zeile.
Qt 4.6.2, Ubuntu 10.04 x64

Antworten auf die Frage(1)

Ihre Antwort auf die Frage