- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 关于QGraphicsItem update()刷新问题记录
但是,随之而来的出现一个问题,网络通信的回包有时会更新刷新控件的状态和显示,下面就是调用item的onDeviceStatus,onDeviceStatus里面有update去做界面刷新。后面移植到安卓,同样的代码cpu飙到100%,有时候界面刷新延迟,没办法,只能改成多线程,不然主线程要刷新界面还要处理其他事件,安卓只使用一个核确实承受他不该有的痛苦。将网络通信这一部分放到子线程中,果然,刚刚好界面流畅,操作及时,本来想把所有服务都创建各自线程去跑,想想,算了,到时遇到比我调试的机器还垃圾的再说。
2023-06-14 15:30:32 1254 1
原创 记录QT TCP QThread使用
将TCP放到子线程中时,Recv和Send都要在线程完成,因为QT不支持QTcpSocket跨线程调用,类似的还有QTimer。上面的接收信号槽触发后,doWork就在主界面线程进行处理,如果处理耗时长的话就会卡界面,因为主线程没有去刷新事件绘图。那么针对性处理,第一个当然就是将doWork处理放在子线程空间处理,第二个就是让doWork里面去刷新。其实可以在主线程创建QTimer,以30帧的频率去固定刷新,刚好到人眼流畅的视觉。那么子线程和其他线程的数据交互就通过信号槽去实现,不能直接使用对象方法。
2023-04-15 04:08:09 262
sdl-1.2.14.tar.gz
2017-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人