Я борюсь с удалением блоков/строк из QTextEdit
. Код ниже должен (? )работает, но по какой-то неизвестной мне причине это заканчивается бесконечным циклом. У меня есть подозрение, что next()
и previous()
не приветствуются, если редактируется QTextDocument
.
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();
}
Повторение с использованием QTextDocument::findBlockByNumber()
и удаление блока таким же образом, как описано выше, также не сработало.
Я был бы признателен, если бы кто-нибудь указал мне правильное направление, как перебрать все блоки и удалить их, если это необходимо.
П.С.
В моем конкретном случае один блок = одна строка.
Qt 4.6.2, Ubuntu 10.04 x64