问题描述:
子线程计数,主线程实时显示。比如,显示1后直接显示3,而计时器输出的是没有问题的,有3这个数。就是界面没有及时更新。
原来的代码:
connect(mt,&mtThread::readyResults,this,[=](){
ui->lcdNumber->display(QString("%1").arg(mt->m_nTimer));```
## 解决办法:
槽函数中显示控件时的数据,直接读取信号中的参数,这样子做的比较好,能够实时显示。
```cpp
void (mtThread:: *psignal)(int res) = &mtThread::readyResults;
connect(mt,psignal,this,[=](int res){
ui->lcdNumber->display(QString("%1").arg(res));
});
还有一种方法,设置一个缓冲区,这个方法待测试。。。
缓冲区,这个查看链接https://blog.csdn.net/lanmanck/article/details/4624855?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
参考
https://blog.csdn.net/kaka20080622/article/details/50465517?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
https://bbs.csdn.net/topics/390636582
中某个回答。