And*_*ovs 5 qt qtextedit qtextdocument
我正在努力解决阻塞/线路移除问题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();
}
Run Code Online (Sandbox Code Playgroud)
以QTextDocument::findBlockByNumber()与上面相同的方式迭代使用和删除块也没有用.
如果有人可以指出我如何迭代所有块并在需要时删除它们,我将不胜感激.
PS
在我的特定情况下,一个块=一行.
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6780 次 |
| 最近记录: |