子进程在一个while中的printf无法被qprocess的readall()读取到,原因初步判断是需要等待while结束才能读取到,或者手动fflush().
现在运行成功的方法是
子进程中所有printf改为
fprintf(stdout,"teststr\n");
fflush(stdout);
qt程序中
process0 = new QProcess(this);
process0->setReadChannel(QProcess::StandardOutput);
connect(process0,&QProcess::readyReadStandardOutput,this,&MainWindow::slotProcess0);
process0->start("process0",QIODevice::ReadOnly);