Mam problem z usunięciem bloku/linii z QTextEdit
. Poniższy kod powinien (?) Działać, ale kończy się nieskończoną pętlą dla nieznanego mi powodu. Podejrzewam, że next()
i previous()
nie są mile widziane, jeśli edytowane jest QTextDocument
.Usuń linię/blok z 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();
}
Iteracja użyciu QTextDocument::findBlockByNumber()
i usuwanie bloku w taki sam sposób jak powyżej nie pracowali albo.
Byłbym wdzięczny, gdyby ktoś mógł skierować mnie we właściwym kierunku, w jaki sposób przeprowadzać iteracje przez wszystkie bloki i usuwać je w razie potrzeby.
P.S.
W moim przypadku jeden blok = jedna linia.
Qt 4.6.2, Ubuntu 10.04 x64
Prawidłowe. Ponieważ oczywiście 'removeSelectedText()' zabija blok, a 'next()' nie działa. Dzięki! :) –