标题:QT调用python模块
取消只看楼主
A979821136
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-12-6
 问题点数:0 回复次数:0 
QT调用python模块
我在python代码里加了import matplotlib.pyplot as plt这一句后,QT里就无法读取模块了,以下是QT代码中的调用python部分,运行之后pModule一直返回0,求求各位大佬帮小弟解决一下!!!
Py_SetPythonHome(L"D:\\python32");
    Py_Initialize();
    if( !Py_IsInitialized() ){
        return 0;
    }
   //执行单句Python语句,用于给出调用模块的路径,否则将无法找到相应的调用模块
    PyRun_SimpleString("import sys");
    PyRun_SimpleString("sys.argv = ['python.py']");
    PyRun_SimpleString("sys.path.append('./')");

    QString path;
     QDir dir;
    path=dir.currentPath();
   //获取qt_python_fun.py模块的指针
    PyObject* pModule = PyImport_ImportModule("chartPainting");//**最重要**
    if (! pModule){
       qDebug()<<QObject::tr("Can't open python file\n");
       return 0;
    }
   //获取hello函数的指针
    PyObject* pFunHandler = PyObject_GetAttrString(pModule,"chartCp");//**最重要**
    if (!pFunHandler){
       qDebug()<<QObject::tr("Get function chartCp failed\n");
       return 0;
    }
   //调用函数,传入参数为NULL
    PyObject_CallFunction(pFunHandler,nullptr);
   //销毁Python解释器,这是调用的最后一步
    Py_Finalize();
搜索更多相关主题的帖子: return 模块 调用 python QT 
2020-12-06 11:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-504141-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.201103 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved