qprocess启动外部程序

时间:2015-07-20 08:46:40

标签: c++ qt

我想运行外部进程,但此代码不起作用。

QStringList args;
QString path = "C:\Users\User\Documents\visual studio 2010\Projects\Avito Main\Avito Main\Debug";

QProcess* child = new QProcess();
child->setWorkingDirectory(path);
child->start("a.exe",args);

1 个答案:

答案 0 :(得分:1)

QProcess::setWorkingDirectory设置进​​程本身的工作目录; 让Qt在此路径中查找您的可执行文件。

因此,您必须将完整路径传递给QProcess::start函数:

QStringList args;
QString path = "C:/Users/User/Documents/visual studio 2010/Projects/Avito Main/Avito Main/Debug";

QProcess *child = new QProcess();
child->setWorkingDirectory(path);
child->start(path + "/a.exe", args);

另请注意,路径中的“\”字符用于转义序列。请改用“\\”或“/”。