Qt调用Python脚本

因为Python库比较强大,所以就采用Qt去调用Python脚本进行项目开发,下面是Qt调用Python脚本,结合CPython进行传值等

使用的编译器是QtCreater5.6

使用Python版本是Python3.4

 Qt调用Python脚本_第1张图片

在调用Python脚本时,先将Python的库文件以及头文件导入

INCLUDEPATH += -I  C:/Python34/include

LIBS += -LC:/Python34/libs/ -lpython34

 Qt调用Python脚本_第2张图片

int main(int argc, char *argv[])

{

    QApplication a(argc, argv);

 

//进行初始化

    Py_Initialize();

 

    //如果初始化失败,返回

    if(!Py_IsInitialized())

    {

        qDebug()<<"11111111111111111111";

        return a.exec();

}

 

//加载模块,模块名称为myModule,就是myModule.py文件

PyObject *pModule = PyImport_ImportModule("myModule");

 

//如果加载失败,则返回

    if(!pModule)

    {

        qDebug()<<"2222222222222222";

        return a.exec();

    }

 

   //加载函数greatFunc

    PyObject * pFuncHello = PyObject_GetAttrString(pModule, "greatFunc");

 

//如果失败则返回

    if(!pFuncHello)

    {

        qDebug()<<"3333333333333333333333";

        return a.exec();

}

 

//调用函数

PyObject_CallFunction(pFuncHello, NULL);

 

//退出

    Py_Finalize();

 

    return a.exec();

}

 

 Qt调用Python脚本_第3张图片

建立Py文件myModule.py,放到项目目录下

 Qt调用Python脚本_第4张图片

这个时候运行程序,发现在加载模块时失败,是因为找不到该模块

我们需要在PythonC:\Python34\Lib\site-packages路径下建立.pth文件,Python在遍历已知的库文件目录过程中,如果见到一个.pth文件,就会将该文件中所记录的路径加入到sys.path中,这样.pth文件所指明的库也就可以被Python的运行环境找到。.pth文件名可以任意填写。

 Qt调用Python脚本_第5张图片

.pth文件的内容D:/Program/Qt/YunNiuProject/, 将你放.py文件的路径写入就行了

 

这个时候再运行就会成功了

 Qt调用Python脚本_第6张图片

你可能感兴趣的:(Qt)