首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在启动搅拌器时我不能与QProcess传递参数?

为什么在启动搅拌器时我不能与QProcess传递参数?
EN

Stack Overflow用户
提问于 2017-04-15 05:51:41
回答 1查看 653关注 0票数 0

尝试在QT中的控制台应用程序的主函数中运行这段代码,但它只启动Blender GUI。这些参数应该启动背景呈现。

我测试了论点是正确的,他们在CMD上工作得很好。这似乎是一个搅拌机的具体问题,但我可能是错的。似乎,使用QProcess不允许Blender使用参数。它在不传递任何参数的情况下启动应用程序。

代码语言:javascript
复制
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做这件事吗?

代码语言:javascript
复制
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");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-15 19:29:31

谢谢你的“MaxGo”和“G.M.”,因为他们让我走上了正确的道路。

两件事:首先,tt是正确的,使用“搅拌器”标志是问题之一。我不能启动.exe文件,也不能期望搅拌器接受参数。

其次,start()不能工作,您确实需要使用startDetached或execute()才能工作。

下面是使这个启动正确的最终代码。

代码语言:javascript
复制
QDir::setCurrent(blenderDirectory);
myProcess.startDetached("blender -b " + projectPath + " -o " + projectOutput + " -a");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43422714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档