当前位置: 代码迷 >> QT开发 >> 【这个有关问题真心困扰好几天了】为何在QProcess running状态下没有readyreadout信号
  详细解决方案

【这个有关问题真心困扰好几天了】为何在QProcess running状态下没有readyreadout信号

热度:157   发布时间:2016-04-25 03:03:25.0
【这个问题真心困扰好几天了】为何在QProcess running状态下没有readyreadout信号?
很简单的一个C程序while(1){printf(“hello”);sleep(1);}的程序,
尝试1:Qprocess调用 start之后使用readyreadout信号槽读取不断输出的标准输出(readall()),但是接收不到任何信号;
尝试2:Qtimer定时刷新,读到的标准输出也为空;
尝试3:尝试2的基础上 running状态下,直接外部终端kii掉这个进程,还是没有输出;
------解决思路----------------------
QProcess的信号是readyRead()
while那里,printf添加一个换行符,不然标准输出会缓存。另可以对标准输入调用fflush,试试。
------解决思路----------------------
之前有人也在问这个问题.我这里写了一个测试程序,亲测是可用的.我的系统是win8的.
http://pan.baidu.com/s/1bnrmv8r
  相关解决方案