Qt在终端上运行shell

时间:2015-08-12 08:34:48

标签: linux qt shell

我需要从mac

中的Qt应用程序运行shell
QString strProcess = "/bin/bash ";
strProcess += (QDir::currentPath() + "/../../../apk_build.sh");
strProcess += " -a " + ui->textEdit_apk->toPlainText();
strProcess += " -o " + ui->textEdit_out->toPlainText();
strProcess += " -c " + ui->textEdit_channel->toPlainText();
QProcess process;
process.execute(strProcess);

这里有一些问题。

问题1:它无法在终端显示内容信息,我需要查看运行信息。

问题2:找不到apktool:找不到命令。如果我在没有Qt应用程序的终端中执行命令(apktool路径:/ usr / bin / apktool),可以找到apktool。

1 个答案:

答案 0 :(得分:1)

<强>问题1 如果您只想保存流程的输出,那么只需设置流程的标准输出。

void QProcess::setStandardOutputFile ( const QString & fileName, OpenMode mode = Truncate )

如果您想实时获得输出,那么您必须通过调用read(),readLine()函数来处理您的过程作为标准顺序I / O设备。

问题2 您必须加载您的用户的环境变量。尝试:

source /etc/profile