QT中后台线程的printf语句,到关闭界面的时候才显示出来,这是怎么回事?
用qt做界面,然后后台开启一个线程处理一些数据,用一些printf语句输出一些信息方便检查,但是每次开启程序后,后台线程能够正常运行,printf语句却要等关闭界面后才显...
用qt做界面,然后后台开启一个线程处理一些数据,用一些printf语句输出一些信息方便检查,但是每次开启程序后,后台线程能够正常运行,printf语句却要等关闭界面后才显示,这个问题怎么解决呢?
展开
3个回答
展开全部
qt里面调试一般都是用的qDebug()<<"hello";来调试的,printf毕竟不是QT的东西,所以可能就会出现这种情况吧。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用QT是怎么编写后台线程的啊,我开启了一个耗时的线程,结果界面就卡住了,只有等到这个线程执行完了,才能移动鼠标等操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf打印的结果在缓冲区。但缓冲区未被释放,所以无法显示。可以通过fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。或者直接通过qDebug()输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询