天天看点

qt调用python_QT 调用Python文件并传输参数

(1) python文件如下

#!/usr/bin/env python

# -*- coding: utf-8 -*-

def hello():

print("hello world!")

def greatFunc():

print("hello world,greatFunc!")

def Add(a, b , para):

print("111232");

return a+b;

(2) qt 调用代码如下

void MainWindow::on_pushButton_py_3_clicked()

{

//进行初始化

Py_Initialize();

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

if(!Py_IsInitialized())

{

qDebug()<

}

PyRun_SimpleString("import sys");

PyRun_SimpleString("sys.path.append('./')");

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

PyObject *pModule = PyImport_ImportModule("myModule");

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

if(!pModule)

{

qDebug()<

return;

}

else

{

PyObject* pRet=PyObject_CallMethod(pModule,"Add","iis",8,9,"woshi");

if (!pRet)

{

printf("不能找到 pRet");

return ;

}

int info;

PyArg_Parse(pRet, "i", &info);

qDebug()<

}

Py_Finalize();

}

(3) 完美输出结果17。

标签:调用,return,QT,Python,Py,PyObject,print,pRet,pModule