5
ブロック/行の削除を苦労してQTextEdit
からやっています。下のコードは(?)うまくいくはずですが、私には未知の部分が無限ループで終わります。 QTextDocument
を編集中の場合、next()
とprevious()
は歓迎されないという疑いがあります。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();
}
の反復QTextDocument::findBlockByNumber()
を用いて、上記のようにいずれかに働いていなかったと同じようにブロックを削除します。
誰かが私にすべてのブロックを繰り返し処理し、必要に応じて削除する方法について正しい方向に向けることができたらうれしいです。
P.S.
私の場合、1ブロック= 1行。
のQt 4.6.2は、Ubuntu 10.04のx64
正しいです。明らかに 'removeSelectedText()'はブロックを殺し、 'next()'はもはや動かないからです。ありがとう! :) –