• 6079阅读
  • 2回复

[提问]Qt里如何运行Python脚本文件啊? [复制链接]

上一主题 下一主题
离线xuang
 

只看楼主 倒序阅读 楼主  发表于: 2012-08-22
没有人在Qt里运行过Python脚本文件?从Qt里输入参数到脚本,再从脚本返回值到Qt。网上的方法看得好晕啊,求通俗易懂的解释。
离线dbzhang800

只看该作者 1楼 发表于: 2012-08-22
不就是用QProsess调用python解释器么?

抑或 你想在Qt中嵌入python解释器?这个和普通C、C++中的做法没什么区别

抑或 你想让python和Qt交互?这个可以考虑PythonQt这个库
离线xuang

只看该作者 2楼 发表于: 2012-08-22
问题解决了
用的是QProcess调用python解释器的方法
QProcess *myProcess = new QProcess(this);
QString program = QString("python.exe");//我把Python的安装目录加到了系统Path变量中,所以直接调就行
QStringList parameters = QStringList() << "Python脚本路径" << "Python脚本参数";//可以有多个参数
myProcess.start(program, parameters);
if (!myProcess->waitForFinished())//默认30秒就算超时
     return;
QByteArray result = myProcess->readAll();//这里接收返回值

这个办法没有用PythonQt那么专业,属于简单粗暴吧,但是已经能够满足我的应用要求了,谢谢楼上给我的提示。
最后还要说一下,readAll()获取的是Python脚本中print的StdOutput内容,也就是输出在屏幕上的内容,我的Python脚本原本是将计算结果用return返回的,由于这个原因被迫将脚本中的return值改成了屏幕输出。
快速回复
限100 字节
 
上一个 下一个