我的应用程序在我在qtcreator下运行应用程序时运行不同的bash文件。即使我通过终端运行应用程序,它也可以正常工作,所以问题在哪里?
我正在使用QT 5.7 / OSX Platform
这是我的代码
QProcess proc ;
proc.start(QCoreApplication::applicationDirPath() + "/check.sh");
proc.waitForFinished();
QString output = QString(proc.readAll());
qDebug() << output ;
您应该研究一些可能性
- 您可以确认脚本在运行时正在运行吗?
- Qprocess总是有点奇特,因为提供的脚本在提供脚本时创建流程,具体取决于平台。剧本里面有Shebang吗?它是否与您正在运行的程序相匹配?您可能需要基于Shell创建进程,将脚本的文件名作为参数提供。
- Qprocess :: ReadAll()如果没有被该过程刷新输出缓冲区,则可能不会返回。输出EOL末端会迫使冲洗。