注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沙漠里de烟雨

原创分享,禁止转载

 
 
 

日志

 
 

Qt5.92 QtCreator 调用 python 脚本的方法 及其 发布  

2017-11-21 04:25:36|  分类: QT5.x与QML |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
如题 :
安装python后,这里使用python3.6
在其安装目录下找到include文件夹以及libs文件夹,拷贝到工程目录下,然后在工程文件pro中
如下引用:  xx.pro
INCLUDEPATH += -I $$PWD/include
LIBS += -L$$PWD/libs -lpython36

这里,我在工程目录下创建了一目录: bin64, 让生成的执行文件也放这里。其它的要用的库也放在此bin64目录下:
DESTDIR += $$PWD/bin64

想把所有自己写的py文件放在bin64/Config/PY文件目录下,则程序中如下调用:
    //初始化python模块;
    Py_Initialize();
    if (!Py_IsInitialized()){
        return false;
    }
    PyRun_SimpleString("import sys"); //这两句代码必须写在Py_Initialize()运行之后,否则程序会崩溃;
    PyRun_SimpleString("sys.path.append('./Config/PY/')");

如: bin64/Config/PY/data.py 要在程序中导入:
PyImport_ImportModule("data"); //注: 不能写成带路径的: ./Config/PY/data ,也不能带后缀: data.dy  !!

至于怎么调用,网上一抓一大把,这里就不多说了。下面来打包:
把所有要用的库文件放在bin64文件目录下,因为程序的exe文件在此目录,
有关Qt的无非:
libEGL.dll libGLESv2.dll, QtCore.dll, Qt5Gui.dll, Qt5Widgets.dll等,如果用到网络模块,还得加上QtNetwork.dll,
用到qml得加上Qt5Qml.dll等等 。 如果是debug版,后面带d.如:Qt5Guid.dll...
platforms文件目录,imageformats目录(如果用到图片)等;
有关系统的,这里用的vs2013编译,故还得加上:msvcp120.dll,msvcr120.dll等
有关python的:
从python的安装目录下找到:python3.dll, python36.dll(其它版本可能不一样,如python3.5,则此为python35.dll)
DLLs整个目录,Lib整个目录, 将这些拷贝到bin64目录下,由于Lib目录一般很大,有几百MB之多,而你使用的python代码中可能涉及
的模块较少,如果有耐心的话,从Lib目录下逐一删除那些不会影响程序运行的库文件或库文件目录,这样可以大大地缩减
包的大小;









  评论这张
 
阅读(42)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018