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...
(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()<<"Py_IsInitialized is null";
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
//加载模块,模块名称为myModule,就是myModule.py文件
PyObject *pModule = PyImport_ImportModule("myModule");
//如果加载失败,则返回
if(!pModule)
{
qDebug()<<"pModule is null ";
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()<<"result="<<info<<endl;
}
Py_Finalize();
}
(3) 完美输出结果17。
更多推荐
所有评论(0)