【发布时间】:2012-05-02 16:23:40
【问题描述】:
我正在努力从QTextEdit 中删除块/行。下面的代码应该(?)可以工作,但由于某些我不知道的原因,它最终进入了无限循环。如果正在编辑 QTextDocument,我怀疑 next() 和 previous() 不受欢迎。
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
【问题讨论】:
标签: qt qtextedit qtextdocument