QT Creator 中C++调用python程序
开发环境,QT MSVC5.8 64位版本 Python 3.6.5 64位版本
1. 第一步
在项目的.pro文件中加入pyhon的头文件路径和库路径
INCLUDEPATH += C:\Python\Python36\include
LIBS += -LC:\Python\Python36\libs -lpython36
当然路径要换成自己的路径
其中LIBS += -LC:\Python\Python36\libs -lpython36中的L 和 C之间不能有空格,否则会报错
2. 第二步
引入头文件
#include<Python.h>
3. 第三步
在需要引用python的地方编写程序
//进行初始化
Py_Initialize();
//如果初始化失败,返回
if(!Py_IsInitialized())
{
qDebug()<<"Initialize filed";
return ;
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
//将python的运行目录转移到当前文件夹
PyObject *pModule = NULL;
PyObject *pFuncHello = NULL;
//加载模块,模块名称为HELLO,就是HELLO.py文件
pModule = PyImport_ImportModule("hello");
//如果加载失败,则返回
if(!pModule)
{
qDebug()<<"import Module filed";
return ;
}
//加载函数hello
pFuncHello = PyObject_GetAttrString(pModule, "hello");
//如果失败则返回
if(!pFuncHello)
{
qDebug()<<"import Func filed";
return ;
}else{
qDebug()<<"import Func successed";
}
//调用函数
PyObject_CallObject(pFuncHello, NULL);
//退出
Py_Finalize();
4. 第四步
编译时最好采用release版本,避免出现错误
还没有评论,来说两句吧...