QT多线程场景下newPicture信号无法触发对应槽函数问题
Qt多线程信号槽异常排查问题
场景说明
- 在MainWindow类内创建3个线程:生产者线程
TDiceThread、消费者线程TValueThread与TPictureThread - 信号与槽的连接代码如下:
connect(threadValue, &TValueThread::newValue, this, &MainWindow::do_newValue); connect(threadPic, &TPictureThread::newPicture, this, &MainWindow::do_newPicture);
各线程run()函数逻辑
TDiceThread::run():循环生成随机骰子值,唤醒等待线程TValueThread::run():等待后发出newValue信号TPictureThread::run():等待后生成图片路径,发出newPicture信号
异常现象
经调试确认,newValue和newPicture信号均已成功发出,但只有do_newValue槽函数能正常被调用,do_newPicture槽函数始终未触发。
内容的提问来源于stack exchange,提问作者LEO
相关产品推荐
相关产品推荐

