我正在努力删除块/线QTextEdit
。下面的代码应该(?)工作,但由于某些我未知的原因,它最终陷入无限循环。我怀疑next()
and 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()
并且以与上面相同的方式删除块也不起作用。
如果有人能指出我如何迭代所有块并在需要时删除它们的正确方向,我将不胜感激。
P.S.
在我的特殊情况下,一个块=一行。
Qt 4.6.2、Ubuntu 10.04 x64
稍微改变一下对我有用:
while (block.isValid()) {
if (to_do_or_not_to_do(block)) {
QTextCursor cursor(block);
block = block.next();
cursor.select(QTextCursor::BlockUnderCursor);
cursor.removeSelectedText();
}
else
block = block.next();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)