QTextEdit插入和删除行的速度非常慢.无论如何,让它更快

QTextEdit inserting and removing rows is very slow. Anyway to make it faster?

本文关键字:无论如何 非常 插入 删除行 速度 QTextEdit      更新时间:2023-10-16

我有一个QTextEdit对象中有50行的表。1乘1移除50行,然后1乘1添加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);
    }
}

如果您将代码放在对textCursor.beginEditBlock()textCursor.endEditBlock()的调用之间,则它被视为单个操作,并且对于500行测试而言,更新是即时的。