我在QTextEdit对象中有一个包含50行的表。
删除50行1乘1,然后添加50行1乘1大约需要1-2秒。
有什么办法可以加快此操作。
我只需要查看最终结果。 (即在我完成删除然后添加行之后)。
由于我很清楚知道需要什么时间,因此无法找到解决方法。
这是一些简单的代码进行测试:
//ui->textEdit is the text edit control
//This will insert 500 rows then remove 499 rows.
QTextCursor textCursor = ui->textEdit->textCursor();
textCursor.setPosition(1);
if(textCursor.currentTable() !=0)
{
for(int i =0;i<500;i++)
{
textCursor.currentTable()->insertRows(1,1);
}
for(int i =0;i<499;i++)
{
textCursor.currentTable()->removeRows(1,1);
}
}
最佳答案
看来,如果将代码放在对textCursor.beginEditBlock()
和textCursor.endEditBlock()
的调用之间,则它被视为单个操作,并且更新对于您的500行测试是瞬时的。