【发布时间】:2013-02-02 14:13:24
【问题描述】:
我有一个巨大的文本缓冲区,其中每一行都是通过一个库生成的,我希望我的 QPlainTextEdit 小部件能够使用我的 QScrollBar 以编程方式加载其中的一部分。
这就是我的想法:
- 使用 push_back 将每一行加载到 vector 中,并使用总行数存储一个 count 变量
- 使用 QScrollBar 加载其值位置 + 一些其他行来填充编辑框区域
这可能有效,但我发现 push_back 向量中的每一行都非常慢,即使我 保留 空间它的元素。如果我将每一行附加到一个相当快的 string 中,但是我需要用 '\n' 字符分割每一行。
我需要一种快速 push_back 或能够在巨大的文本缓冲区中快速获取 n 行的方法
【问题讨论】:
-
您可以查看内存映射文件。另见stackoverflow.com/questions/6914147/…
-
我不确定为什么将字符串附加到向量会非常慢。定义“大”?
-
.text 部分的反汇编,所以很多行