QT Qtextbrowser删除整行和行号的问题?
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();