查看完整版本: [-- TextArea频繁追加文本界面会卡顿怎么解决? --]

QTCN开发网 -> Qt QML开发 -> TextArea频繁追加文本界面会卡顿怎么解决? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

朱红晨 2019-07-30 17:43

TextArea频繁追加文本界面会卡顿怎么解决?

[attachment=20657]

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

20091001753 2019-07-30 19:29
可以自己加个缓冲。创建一个定时器,如果缓冲区有文本,则 AddText
所谓的缓冲区,可以就是一个 QString

而且这个定时器,是针对界面里,所有可能频繁触发的控件,做内容缓冲

朱红晨 2019-07-31 09:16
20091001753:可以自己加个缓冲。创建一个定时器,如果缓冲区有文本,则 AddText
所谓的缓冲区,可以就是一个 QString
而且这个定时器,是针对界面里,所有可能频繁触发的控件,做内容缓冲 (2019-07-30 19:29) 

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

liudianwu 2019-07-31 11:17
记得把以前的字符删掉

朱红晨 2019-07-31 12:34
liudianwu:记得把以前的字符删掉 (2019-07-31 11:17) 

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

20091001753 2019-07-31 14:05
我在 PC 端,用 QPlainTextEdit 显示过一万行的文本,没问题。

而 qml 一般运用在手机,嵌入式等等。
我没试过 qml 的控件显示上万字。

朱红晨 2019-07-31 14:20
20091001753:我在 PC 端,用 QPlainTextEdit 显示过一万行的文本,没问题。
而 qml 一般运用在手机,嵌入式等等。
我没试过 qml 的控件显示上万字。 (2019-07-31 14:05) 

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

20091001753 2019-07-31 14:54
[attachment=20658]

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

按理说,在手机上,应该是 qml 的性能会比 widgets 更好才对。
因为 widgets 的硬伤是只能 cpu 绘制,而 qml 支持 gpu 加速。

tqsitq 2020-06-19 10:17
老帖子顶一下。感觉TextArea好像效率是真不行


查看完整版本: [-- TextArea频繁追加文本界面会卡顿怎么解决? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled