博主要使用QT做界面,并调用python脚本使用tensorflow进行深度学习,于是开始寻找通过QT调用python脚本的方法。
网上的几种方法比如添加外部工具,只是方便了在编译器中运行脚本,不能解决在程序中通过代码调用脚本的需求,由于使用了python3,添加cpython库则出现slots冲突问题,并且解决不了,出现collect2: error: ld returned 1 exit status几次尝试解决未果,于是决定直接用process来解决
效果如下
方法也非常简单,只需要添加#include <qprocess.h>
头文件,并使用
QProcess *p = new QProcess;
QString str ="python脚本路径/xxxx.py";
p->startDetached(tr("python3.x %1").arg(str));
例如
如此没有完全解决问题,因为我希望脚本能和C++程序之间即时交互,目前没有找到很好的解决方法