我正试图通过

QProcess process= new QProcess();
process.start("javac file.java");

它成功启动,我可以在qt creator的日志窗口中看到输出。但是当我试图用QProcess从程序中读取它时,什么也没读。但是当我想做一些
process.start("echo Print this message");

然后process.readAll()返回“打印此消息”。
有谁能帮我解释为什么会这样,我怎么才能得到这份工作。我想用它做一个简单的ide。

最佳答案

您正在读取进程的标准输出通道,但您的进程在标准错误通道上输出。你两个都要读。您还可以选择合并它们。请参阅QProcess文档-阅读并确保您理解它。如果有什么不清楚的地方,编辑你的问题,要求澄清。

关于linux - QProcess运行进程,但readAll不返回任何内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32656190/

10-16 19:05