赞
踩
qt调用python文件函数以及整体打包(1)
*新建qt工程调用python****文件
1、新建一个qt工程(方便调试,第一次建议选择qt控制台应用)
2、一直点击下一步,我选择mingw,选择msvc2015后期会与mingw有一个地方不一样
3、右键工程名字,add new->python->python file ->名字随便起(回合原始文件冲突)
4、在qt的pro文件里添加python的include和libs
INCLUDEPATH +=./python39/include/
LIBS += -L./python39/libs \
-l_tkinter\
-lpython3\
-lpython39
5、在main.cpp里面添加
#include <math.h>
#include <Python.h>
#include "QDebug"
#include <iostream>
using namespace std;
#include <QCoreApplication>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Py_SetPythonHome(L"./python39/");
Py_Initialize();
if ( !Py_IsInitialized() )
{
qDebug() <<'2';
}
PyObject* pModule = PyImport_ImportModule("test_1"); // 这里的test_1就是创建的python文件
if (!pModule) {
cout<< "Cant open python file!\n" << endl;
qDebug() <<'3';
}
PyObject* pFunhello= PyObject_GetAttrString(pModule,"hello"); // 这里的hellow就是python文件定义的函数
if(!pFunhello){
cout<<"Get function hello failed"<<endl;
qDebug() <<'4';
}
PyObject_CallFunction(pFunhello,NULL);
Py_Finalize();
return a.exec();
}
6、在test_1.py中添加
def hello():
print('2')
7、点击编译会报错,把我分享的python39文件夹复制过去,然后再次点击编译,成功,如果没有用我给的python环境会出现以下问题(具体参考https://blog.csdn.net/alxe_made/article/details/83382159)
8、点击运行,会出现can’t open python file ,原因是我们需要把我们的c++代码调用的python文件地址是相对路径,所有需要把python文件复制到build文件夹里
9、修改完之后,重新运行即可成功
*qt工程调用支付宝的python****支付文件(此教程与上面的有些许区别)
1、因为支付宝的python文件里面需要导入alipay的sdk,所以当我直接们import alipay时,也会报can’t open python file,因为这个alipay不在当前文件夹下面,所以需要我们手动复制到相同文件夹,此外我们还需要复制pymysql,rsa两个文件夹(如下图所示)
2、登录支付宝的沙盒https://openhome.alipay.com/platform/appDaily.htm
个人支付宝是扫码即可,
3、我们需要自定义密钥(如下图),生成密钥的网站为https://miniu.alipay.com/keytool/create
4、如下图选项,点击生成
5、将生成的应用公钥复制到下图的框内,保存设置
6、完成后会出现下方的图,
7、复制支付宝的公钥和应用私钥以及APPID到我们的python代码中(如下图所示)
8、主要代码介绍
第一行的pay(订单号,金钱,订单主题,订单超时时间)
第二和第三行就是生成二维码的信息
第四行的if是判断有无支付成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。