• 5026阅读
  • 8回复

[提问]TextArea频繁追加文本界面会卡顿怎么解决? [复制链接]

上一主题 下一主题
离线朱红晨
 

只看楼主 正序阅读 楼主  发表于: 2019-07-30



各位大佬,以上是我写的程序,C++会频繁调用recInfoAddText函数能追加文本,此时界面会出现卡顿,不知道应该怎么优化代码?还是改变显示方式?
离线tqsitq

只看该作者 8楼 发表于: 2020-06-19
老帖子顶一下。感觉TextArea好像效率是真不行
离线20091001753

只看该作者 7楼 发表于: 2019-07-31


我用 widgets 在手机上显示 5 万行的文本,没有感觉到卡顿。
晓龙660

按理说,在手机上,应该是 qml 的性能会比 widgets 更好才对。
因为 widgets 的硬伤是只能 cpu 绘制,而 qml 支持 gpu 加速。
(づ ̄ 3 ̄)づ
离线朱红晨

只看该作者 6楼 发表于: 2019-07-31
回 20091001753 的帖子
20091001753:我在 PC 端,用 QPlainTextEdit 显示过一万行的文本,没问题。
而 qml 一般运用在手机,嵌入式等等。
我没试过 qml 的控件显示上万字。 (2019-07-31 14:05) 

应该是QML性能不行吧,我用Widgets写就不会卡顿。。。。。就是界面没QML好看啊
离线20091001753

只看该作者 5楼 发表于: 2019-07-31
我在 PC 端,用 QPlainTextEdit 显示过一万行的文本,没问题。

而 qml 一般运用在手机,嵌入式等等。
我没试过 qml 的控件显示上万字。
(づ ̄ 3 ̄)づ
离线朱红晨

只看该作者 4楼 发表于: 2019-07-31
回 liudianwu 的帖子
liudianwu:记得把以前的字符删掉 (2019-07-31 11:17) 

是要一直显示的,除非用户手动清空,是TextArea控件不能显示大量文本数据吗?
离线liudianwu

只看该作者 3楼 发表于: 2019-07-31
记得把以前的字符删掉
欢迎关注微信公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发) QQ:517216493  WX:feiyangqingyun  QQ群:751439350
离线朱红晨

只看该作者 2楼 发表于: 2019-07-31
回 20091001753 的帖子
20091001753:可以自己加个缓冲。创建一个定时器,如果缓冲区有文本,则 AddText
所谓的缓冲区,可以就是一个 QString
而且这个定时器,是针对界面里,所有可能频繁触发的控件,做内容缓冲 (2019-07-30 19:29) 

我也试过这样的方法,刚开始addText没有什么问题,可是一旦TextArea中字符超过1W时界面就有明显卡顿了
离线20091001753

只看该作者 1楼 发表于: 2019-07-30
可以自己加个缓冲。创建一个定时器,如果缓冲区有文本,则 AddText
所谓的缓冲区,可以就是一个 QString

而且这个定时器,是针对界面里,所有可能频繁触发的控件,做内容缓冲
(づ ̄ 3 ̄)づ
快速回复
限100 字节
 
上一个 下一个