首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

多线程加载大文件到QTextEdit中解决方案

2012-12-29 
多线程加载大文件到QTextEdit中我要加载一个大文件到QTextEdit中,就是在其他线程打开文件读取,然后写入到Q

多线程加载大文件到QTextEdit中
我要加载一个大文件到QTextEdit中,
就是在其他线程打开文件读取,然后写入到QTextEdit中去。
这样就不会导致main GUI线程无法响应。
1.  但是其他线程不能调用GUI元素啊。有什么好的办法吗?谢谢。
2.  我现在是想用readLine,这样一行一行读入,然后QTextEdit::append这样写入的。这样是否合适?谢谢
[解决办法]

引用:
别用Qstring
就用QFile read
然后按需读取  
你这样相当于把所有的文件全部加载进来 内存占的肯定比较大  而且估计QString不适合放这么多数据吧
这意味着QString每次当capacity不够时 要重新resize 然后拷贝原来的数据

readall不可以吗?一次读进QString。
[解决办法]
个人感觉readAll会触发构造多个QString对象
每个QString对象在capacity()不够时  会重新resize 然后拷贝原来的数据 相当于构造了多次
对几十K的数据应该没问题 上10M的估计会多次resize

引用:
引用:
别用Qstring
就用QFile read
然后按需读取  
你这样相当于把所有的文件全部加载进来 内存占的肯定比较大  而且估计QString不适合放这么多数据吧
这意味着QString每次当capacity不够时 要重新resize 然后拷贝原来的数据
readall不可以吗?一次读进QString。

热点排行