QTextEdit插入和删除行的速度非常慢.无论如何,让它更快
QTextEdit inserting and removing rows is very slow. Anyway to make it faster?
我有一个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行测试而言,更新是即时的。
相关文章:
- OpenGL大的3D纹理(>2GB)非常慢
- 为什么需要复制构造函数,在哪些情况下它们非常有用
- 为什么std::互斥需要很长的、非常不规则的时间来共享
- 无论如何,我可以确定构造函数是否存在吗?
- G++ C++17 类模板参数推导在非常特殊的情况下不起作用
- 使用浮点数和双精度数的非常小数字的数学
- 在打开多个其他窗口时使用全屏窗口时帧速率非常低
- 程序中的布尔函数返回输入的范围无论如何都是无效的
- 我从int x[3]得到的一个非常奇怪的输出;
- 反向迭代器在C++中非常奇怪的行为
- 将非常大的 int 转换为双倍,在某些计算机上会损失精度
- 我的自定义使用 std::unordered_map 的性能非常慢
- ifstream 尝试读取 9 到 13 之间的无符号字符时非常奇怪的行为
- 一个非常简单的win32套接字代码,但工作错误
- 非常快速地阅读 CSV 文件
- max_element() 给出非常奇怪的错误消息
- 将 mmap 内存用于开销非常低的循环缓冲区
- 无论如何可以将webm / mp4文件编译/记忆为.exe程序吗?(C++)
- 内存映射文件访问非常慢
- QTextEdit插入和删除行的速度非常慢.无论如何,让它更快