查看完整版本: [-- QT quick 界面卡死问题 --]

QTCN开发网 -> Qt QML开发 -> QT quick 界面卡死问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

gx_211 2016-06-20 10:02

QT quick 界面卡死问题

请问各位大神  我最近QT C++ 编写串口接收数据 用QT quick 编写界面 在界面上用rectangle的颜色值变化来说明串口接受数据的变化  可是QT quick编写的界面总卡死  是什么问题呢  我是新手 请大神指点

马侬骑士 2016-06-20 10:50
rectangle的颜色变化,应该不是卡死的原因,只描述这个是很难知道问题 ,

九重水 2016-06-20 12:21
是被数据淹没了,还是真的界面卡死了?
如果是数据量太大,直接冲过来,导致你的机器死机了,这不出奇。你要降低频率。
有时候,数据发送了很多过来,没必要每时每分每秒都去处理它,可以阶段性地去处理,
不会影响需求。
如果数据量不是很大,机器能处理过来,但你的界面却死了。那可能是你程序的处理机制有问题。

从你描述来看,你应该是第一个问题,数据来了你都让它的颜色变化一下。这样的动作会导致界面刷新,而界面刷新是动作很大的。虽然你觉得可能很小。
你可以尝试下,一秒钟或2秒,甚至3秒才变一次颜色。这样处理频率就降低很多了,CPU没那么忙碌了。


toby520 2016-06-20 12:26
串口数据是不是非常频繁?QML这个东西在频繁的操作情况下 不得知效率如何

马侬骑士 2016-06-20 19:44
可能从C++导入到QML之间的转换,或者是在QML中进行了比较数据量的运算,单纯的QML颜色刷新不会这样的,没有谁会设计1000hz的刷新频率吧,你也看不清楚它刷新了
也有可能是设计也刷新动画,单纯的颜色变化不是很符合实际
级设计每秒刷新几次,中间加上动画


查看完整版本: [-- QT quick 界面卡死问题 --] [-- top --]



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