QT Qtextbrowser删除整行和行号的问题?

myrelativity 2018-03-12 11:41:14
1、QT5.10.1 添加了一个Qtextbrowser控件,初始化如下
ui->textRecord->document()->setMaximumBlockCount(100);//设置显示最后100行

2、没处理一个文件会添加一个操作记录,并条用下面的记录函数
void Record(const QString &str)//添加操作记录
{
ui->textRecord->moveCursor(QTextCursor::End);//设置光标到最后一行 这里必须先移动光标 如果鼠标点动 光标位置会发生变化
ui->textRecord->insertPlainText(str);//在光标处增加一行
}

问题:实际使用也很好 就是只显示最后100行,并且一行一行的添加在结尾处,但是如果超过1000行的时候感觉速度有下降,超过10000行虽然还是显示100行,但是处理速度很慢,眼睛都能看出延迟了,很明显这里只是显示最后100行,而100行之前的每一行都保留了,过程中用ui->textRecord->clear();方法很明显块了不少,但是把我要的最后100行业干掉了。
我不想直接清除全部,也不想把这100行信息保存,然后用一个str数组管理最后100行,每次都傻逼似的写入100行信息,效率根本没有提高多少,那么只能把100行之前的信息删除了,包括行号,我试过下面方法,只能清除行内容,不能删行号,庞大的行数还在,我这里估计至少1万行以上。太慢了,太慢了,我不会删行和行号,大神求助!
QTextCursor cursor=ui->textRecord->textCursor();
cursor.select(QTextCursor::BlockUnderCursor);
cursor.removeSelectedText();

...全文
2425 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lucky暴击 2018-07-01
  • 打赏
  • 举报
回复
你这个document是哪里的,我想问下。
myrelativity 2018-03-13
  • 打赏
  • 举报
回复
没有人顶 还是自己顶吧

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧