Sono in difficoltà con la rimozione di blocchi/linee da QTextEdit
. Il codice qui sotto dovrebbe (?) Funzionare ma finisce in loop infinito per qualche motivo sconosciuto a me. Ho il sospetto che next()
e previous()
non siano i benvenuti se si sta modificando lo QTextDocument
.Rimuovere una riga/blocco da QTextEdit
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();
}
Iterando utilizzando QTextDocument::findBlockByNumber()
e cancellare blocchi nello stesso modo come sopra non funzionato neanche.
Apprezzerei se qualcuno potesse indicarmi la giusta direzione su come iterare attraverso tutti i blocchi e rimuoverli se necessario.
P.S.
Nel mio caso particolare un blocco = una linea.
Qt 4.6.2, Ubuntu 10.04 x64
corretta. Perché ovviamente 'removeSelectedText()' uccide il blocco e 'next()' non funziona più. Grazie! :) –