当前位置: 首页 > news >正文

湖南优化网站建设西安网站建设咪豆

湖南优化网站建设,西安网站建设咪豆,哔哩哔哩网站电子商务建设,缩略图 wordpress一.概述 1.Python功能强大#xff0c;很多Qt或者c/c开发不方便的功能可以由Python编码开发#xff0c;尤其是一些算法库的应用上#xff0c;然后Qt调用Python。 2.在Qt调用Python的过程中#xff0c;必须要安装python环境#xff0c;并且Qt Creator中编译器与Python的版…一.概述 1.Python功能强大很多Qt或者c/c开发不方便的功能可以由Python编码开发尤其是一些算法库的应用上然后Qt调用Python。 2.在Qt调用Python的过程中必须要安装python环境并且Qt Creator中编译器与Python的版本要对应具体来说编译器是64位安装Python就是64位编译器32位安装Python就是32位。 3.本文测试使用的QT版本为QT5.12;  python版本为python-3.12 4.Qt调用python主要有两种方式 一是混合编程模式直接调用python文件内的函数比较灵活也是本文重点讲述的方法 二是直接调用python脚本文件比较简单但是不够灵活。 二.混合编程代码实现 1.环境配置 1pro文件中添加python的头文件和依赖库 INCLUDEPATH -I D:\python\Lib\site-packages\numpy\core\include INCLUDEPATH -I D:\python\include LIBS -L D:\python\libs -l_tkinter -lpython3 -lpython312 2修改include文件夹中的object.h文件因为Python中slots是关键字Qt中slots也是关键字会冲突。 #undef slots PyType_Slot *slots; /* terminated by slot0. */ #define slots Q_SLOTS   2.代码实现 1Python代码添加目录及内容 添加test1.py文件到qt生成exe目录比如 ../build-qt_python-Desktop_Qt_5_12_10_MinGW_64_bit-Debug/debug/testb.py 否则无法调用py文件。 Python代码 def hello(): print(hello) def mix(a,b): print() r1 a b r2 a - b return (r1, r2) 2.qt代码 #include QCoreApplication #include Python.h #include QDebug #include numpy/arrayobject.h int Test_hello(void) { //初始化python模块 Py_Initialize(); if ( !Py_IsInitialized() ) { return -1; } //导入testb.py模块 PyObject* pModule PyImport_ImportModule(testb); if (!pModule) { qDebug(Cant open python file!\n); return -1; } //获取test模块中的hello函数 PyObject* pFunhello PyObject_GetAttrString(pModule,hello); if(!pFunhello){ qDebug()Get function hello failed; return -1; } //调用hello函数 PyObject_CallFunction(pFunhello,NULL); //结束释放python Py_Finalize(); return 0; } int Testt_mix(void) { //初始化python模块 Py_Initialize(); if ( !Py_IsInitialized() ) { return -1; } PyObject* pModule PyImport_ImportModule(testb);//注意文件名字大小写 if (!pModule) { qDebug(Cant open python file!\n); return -1; } PyObject* pyFunc_mix PyObject_GetAttrString(pModule, mix); if (pModule PyCallable_Check(pyFunc_mix)) { PyObject* pyParams PyTuple_New(2); //定义两个变量 PyTuple_SetItem(pyParams, 0, Py_BuildValue(i, 5));// 变量格式转换成python格式 PyTuple_SetItem(pyParams, 1, Py_BuildValue(i, 2));// 变量格式转换成python格式 int r1 0, r2 0; PyObject* pyValue PyObject_CallObject(pyFunc_mix, pyParams); //调用函数返回结果 PyArg_ParseTuple(pyValue, i|i, r1, r2);//分析返回的元组值 if (pyValue) { qDebug(result: %d   %d\n, r1, r2); } } //结束释放python Py_Finalize(); return 0; } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); Test_hello(); Testt_mix(); return a.exec(); } 3.输出结果 三.直接调用python脚本模式 1.python文件 import sys def test(): a 1 print (a) if __name____main__: b test() print (b) 2.QT代码 //第一步初始化Python Py_Initialize(); //检查初始化是否完成 if (!Py_IsInitialized()) { return -1; } //第二步导入sys模块 PyRun_SimpleString(import sys); const char* code with open(./debug/scriptpy.py, r) as file: exec(file.read()); // 执行代码字符串 if (PyRun_SimpleString(code) ! 0) { // 处理错误 PyErr_Print(); return -1; } Py_Finalize(); 3.执行结果
http://www.zqtcl.cn/news/299076/

相关文章:

  • 找个网站这么难2021公司名称大全好听
  • 网站要实名认证网站建设 简易合同
  • 网站建站公司费用建设网站改版
  • 做网站php与python新渝网门户网
  • 响应式网站建设外文文献中介做网站的别打电话
  • 奥迪网站建设策划书wordpress取消评论审核
  • 无锡百度正规公司专业seo网站优化推广排名教程
  • 湖南城乡建设厅网站青岛网站推广招商
  • 网站备案信息加到哪里国际要闻军事新闻
  • 商河县做网站公司如何仿制国外网站
  • 网站如何跟域名绑定唐山正规做网站的公司哪家好
  • 网站建设wang.cdwordpress文章链接插件
  • 本地进wordpress后台搜索优化师
  • 网站备案证书下载失败法国 wordpress
  • 海南平台网站建设企业优秀的设计案例
  • 拿别的公司名字做网站合肥网页设计培训班
  • 到哪个网站做任务太原百度seo优化推广
  • 北京外贸网站开发广东智慧团建系统入口
  • 做百度网站接到多少客户电话阿里云服务器win系统建站教程
  • 天空在线网站建设深圳外贸网站怎么建
  • 网站的交流的功能怎么做小商品网站建设
  • 求职招聘网站建设投标书怎样在手机上面建设网站
  • 重庆工厂网站建设备案域名出售平台
  • 免费网站优化校园电商平台网站建设
  • 宁波市住房和城乡建设局网站成都网站建设网站制作
  • 网站制作还花钱建设银行网站查询密码是啥
  • 周到的做pc端网站产品图册设计公司
  • 淘宝客新增网站网页设计板式类型
  • 怎么使用wordpress建站吃什么补肾气效果好
  • 建设网站中期wordpress做分类信息网站