尝试在QT中的控制台应用程序的主函数中运行这段代码,但它只启动Blender GUI。这些参数应该启动背景呈现。
我测试了论点是正确的,他们在CMD上工作得很好。这似乎是一个搅拌机的具体问题,但我可能是错的。似乎,使用QProcess不允许Blender使用参数。它在不传递任何参数的情况下启动应用程序。
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);编辑:
所以在浏览时,我发现了一些有用的东西,但它没有使用QT功能。我宁愿找到QT的方法来做这件事。它实际上所做的是运行CMD,并通过CMD启动搅拌机。我能用QT做这件事吗?
QDir::setCurrent(blender);
system("blender -b E:\\Blender\\BlendSwap\\55510_Ciclos_Town_-_10_Male_Characters\\cidade_ciclos-bonecos.blend -o E:\\Blender\\BlendSwap\\55510_Ciclos_Town_-_10_Male_Characters\\exp\\frame_### -a");发布于 2017-04-15 19:29:31
谢谢你的“MaxGo”和“G.M.”,因为他们让我走上了正确的道路。
两件事:首先,tt是正确的,使用“搅拌器”标志是问题之一。我不能启动.exe文件,也不能期望搅拌器接受参数。
其次,start()不能工作,您确实需要使用startDetached或execute()才能工作。
下面是使这个启动正确的最终代码。
QDir::setCurrent(blenderDirectory);
myProcess.startDetached("blender -b " + projectPath + " -o " + projectOutput + " -a");https://stackoverflow.com/questions/43422714
复制相似问题