本文记录在Qt中直接调用python接口的方式
python文件,testList.py如下:
#!/usr/bin/python
def testlist():
a = ['tomsun', 'wenfang', 'ada', 'lily'] #当然列表中可以还包含列表
return a
C++中代码如下:
#include <Python.h>
void testList()
{
Py_Initialize();
PyObject *pModule = NULL;
PyObject *pFunc = NULL;
PyObject *pReturn = NULL;
int i = 0;
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')"); //这个是python源文件所在的路径,比如,你的
//python路径在/tmp/目录下,就修改为PyRun_SimpleString("sys.path.append('/tmp/')")
pModule = PyImport_ImportModule("testList");
pFunc = PyObject_GetAttrString(pModule,"testlist");
pReturn = PyEval_CallObject(pFunc, NULL);