我尝试使用 QProcess (在Windows上)从我的程序(FaceModifier.exe)中启动blender.exe . 该命令遵循以下结构:
'path-to-blender' - background'path-to-blend-file'-python'path-to-python-script' - 'additional-arg-for-python-script'
一个完整的例子(如果我将其键入cmd.exe,则可以正常工作)
“C:\ Program Files \ Blender Foundation \ Blender \ blender.exe” - background“C:\ Program Files(x86)\ FaceModifier \ Resources \ GenericHeadMesh.blend”--python“C:\ Program Files(x86) \ FaceModifier \ python \ local.py“ - ”C:\ Users \ Gunnar \ Documents \ FaceModifier \ Output \“
现在,在我的程序中,我逃避路径并用引号包围它们所以我有这样的东西
std::string blenderPath := "\"C:\\Program Files\\Blender Foundation\\Blender\\blender.exe\""
对于QProcess,我将所有参数都输入到带有前导 /c 的QStringList中,因此它被视为单个命令并将其传递给 cmd.exe .
我的问题是我不能让它被执行 . 如果我手动输入命令(我传递给QProcess,而不是上面的命令)到cmd .
我启动进程的