天天看點

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