尝试在QT中的控制台应用程序的main函数中运行此代码,但它只启动Blender GUI。这些参数应该是开始后台渲染。
我测试的参数是正确的,它们在CMD上工作正常。这似乎是一个特定的搅拌机问题,但我可能错了。似乎使用QProcess它不允许Blender使用参数。它启动应用程序而不传递任何参数。
min1
编辑:
因此浏览SO时,我发现了一些可以正常工作的东西,但这并没有使用QT功能。我宁愿找到这样做的QT方式。它本质上正在做的是运行CMD并通过CMD启动搅拌机。我有办法使用QT吗?
QProcess myProcess;
QString blender = "C:/Program Files/Blender Foundation/Blender/blender.exe";
QStringList arguments;
arguments << "blender" << "-b" << "E:/my/file.blend" << "-o" << " E:/my/output/folder/"<< "-a";
myProcess.start(blender,arguments);
答案 0 :(得分:1)
感谢@MaxGo和@ G.M.因为他们让我走上了正确的道路。
两件事: 首先,使用&#34;搅拌机&#34;是的。国旗是其中一个问题。我无法启动.exe文件,也希望blender接收参数。
其次,start()不起作用,你需要使用startDetached或execute()才能工作。
以下是正确启动此功能的最终代码。
QDir::setCurrent(blenderDirectory);
myProcess.startDetached("blender -b " + projectPath + " -o " + projectOutput + " -a");