Qt下无法调用python,打不开文件为什么
2个回答
2017-11-28 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
#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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询