QT/C++ 下调用python自定义模块

来源:互联网 发布:郑州做软件开发 编辑:程序博客网 时间:2024/05/21 11:31

QT5.6 Python2.7

QT/C++调用python比较麻烦。C++想要调用python,先要包含头文件<Python.h>。第一步需要添加python的头文件路径。在QT项目的.pro文件下添加这两句

INCLUDEPATH +=C:/Python27/include/

LIBS += C:/Python27/libs/python27.lib

(如果用dev-c++想要include <Python.h>,选择工具-编译选项-目录-C++包含文件里面添加你电脑里python安装目录下的include文件夹(eg:C:\Python27\include))

右键.pro文件选择add existing directory和添加库没有什么卵用,添加了也找不到python.h文件

添加py的头文件目录和库文件,路径为电脑里python路径里的include文件夹和libs文件夹里的pyhton27.lib文件

不添加这两句C++就报错找不到python.h头文件

参考:http://zhmy.michael.blog.163.com/blog/static/86157879201152921637906/




然后C++调用python的教程很多,可以参考这个

https://www.zhihu.com/question/23003213 Jerry Jho的回答

http://www.cnblogs.com/Hisin/archive/2012/02/27/2370590.html



调用自定义模块会用到PyImport_ImportModule()这个函数,

这个函数的参数就是自定义模块的名字,这里在括号里输入路径是没用的,只能是模块的名字,但是光输入名字Python是找不到你写的模块的,

一个最简单的解决办法,找到python的安装目录下的site-package文件夹(eg:C:/Python27/Lib/site-packages),在该目录下创建一个.pth文件,用记事本打开.pth文件,然后将你写的python文件的路径复制上去

如我写的python文件在桌面,我就在里面复制c:/user/desktop/xxx.py

参考:http://www.tuicool.com/articles/An6Rzu ,还有其他三种方法.


关于C++调用py模块的细节,网上很多教程,也可以参考上面的上面那两个。

如果你的python模块有错,PyImport_ImportModule()是导入不了你的模块的。

还有什么想到再写,小白一只,不对的地方请多指教,有想问的请直接评论。

                                             
1 0
原创粉丝点击