如果你的python代码中还需要操作Qt相关的东西,那么你需要的 PythonQt 这个第三方的模块(概念上类似于Qt自己的QtScript模块)
#include <QCoreApplication>//包含调用Python相应的头文件
#include <Python.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv)
//初始化Python解释器,这是调用操作的第一步
Py_Initialize()
if( !Py_IsInitialized() ){
return -1
}
//执行单句Python语句,用于给出调用模块的路径,否则将无法找到相应的调用模块
PyRun_SimpleString("import sys")
PyRun_SimpleString("sys.path.append('./')")
//获取qt_python_fun.py模块的指针
PyObject* pModule = PyImport_ImportModule("qt_python_fun")
if (! pModule){
printf("Can't open python file\n")
return -1
}
//获取hello函数的指针
PyObject* pFunhello = PyObject_GetAttrString(pModule,"hello")
if (!pFunhello){
printf("Get function hello failed\n")
return -1
}
//调用函数,传入参数为NULL
PyObject_CallFunction(pFunhello,NULL)
//销毁Python解释器,这是调用的最后一步
Py_Finalize()
return a.exec()
}
作者:sleepyjoker
链接:http://www.jianshu.com/p/cfe44f56bb90
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。