(vs + qt )c++ 调用 python 问题处理

问题1.PyImport_ImportModule 返回总是null

PyObject* pModule = PyImport_ImportModule("test2");

//如果加载失败,则返回
if (!pModule) {
 std::cout << "Why Can't open python file!\n" << std::endl;
 PyErr_Print();
 return ;
}

解决:

1.设置当前目录,在调用PyImport_ImportModule  之前

调试时.py 脚本在.vcxproj同级,发布时 在exe同级

    PyRun_SimpleString("import sys");
    QString arg = "sys.path.append('./')";
    QByteArray ba = arg.toLatin1(); // must
    char* chArg = ba.data();
    PyRun_SimpleString(chArg);

想要设置其他目录的话:将./ 换成其他绝对目录,注意不能有空格


 

posted @ 2022-11-07 12:15  noob_zxg  阅读(209)  评论(0)    收藏  举报