【发布时间】:2020-09-25 15:05:15
【问题描述】:
我有一个 exe 文件夹位于一个文件夹中,然后我的所有配置文件位于另一个文件夹中。为了运行程序:
- 我需要将终端指向配置文件夹
- 然后运行带有参数的 exe 文件夹。
如下所示,我使用系统调用可以正常工作,但我需要一种与系统无关的方法。
void MainWindow::on_pushButton_clicked()
{
std::system("cd Path_To_ConfigFolder & Absolute_Path_To_Exe RunFile.txt > logfile.txt");
}
上面的效果很好。虽然它只适用于 Windows .. 所以我对使用 QProcess 进行了一些研究来创建一种更与系统无关的方式.. 无论我尝试什么,我似乎都无法让它工作。见下文:
void MainWindow::on_pushButton_clicked()
{
QProcess p;
QStringList params;
p.setWorkingDirectory("Path_To_ConfigFolder");
params << " RunFile.txt > logfile.txt";
p.start("Absolute_Path_To_Exe", params);
p.waitForFinished(-1);
}
注意:对于上面的示例(使用 QProcess),我的所有路径都是 \\,并且我的所有路径都是正确的。
我在这里做错了什么?
【问题讨论】:
-
您当然需要检查所有可能的错误。见stackoverflow.com/questions/60969455/…