我在QTextEdit对象中有一个包含50行的表。 逐行删除50行,然后逐行添加50行大约需要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);
}
}
答案 0 :(得分:7)
似乎如果您将代码放在textCursor.beginEditBlock()
和textCursor.endEditBlock()
的调用之间,则会将其视为单个操作,并且您的500行测试会立即进行更新。