后记:

由于自己low,没有下载罪行的python3.2导致编译上遇到种种问题,后文可以参考,建议看:

《Windows7 VS2015 下编译 PythonQt3.2》 https://www.cnblogs.com/jsjrj01/p/9833574.html

 

 

时间:2018年10月22日,学习任何物事都有个探索过程。欢迎留言探讨。

  在Qt程序中,添加python进行混合编程,可以使用Python API,但交互起来很麻烦,不友好。网上推荐使用PythonQt框架。

强调下:

PythonQt,方便Qt C++程序员,将python引入项目

PyQt PySide,给python程序员,将Qt界面引入项目

本机环境:

  1、win7 64 旗舰版

  2、Qt 5.11.2(MSVC 2015,32 bit)

  3、Python 3.7.0 (32-bit)

  4、PythonQt 3.2

 

准备工作:

1、安装最新Qt5.11.2,地址http://download.qt.io/archive/qt/5.11/ ,直接下载链接。

http://download.qt.io/archive/qt/5.11/5.11.2/qt-opensource-windows-x86-5.11.2.exe 

2、PythonQt是发布在Sourceforge上的一款开源的连接Qt与Python的框架,主页地址http://pythonqt.sourceforge.net ,目前更新到版本3.2,直接下载链接:https://sourceforge.net/projects/pythonqt/files/latest/download,下载后解压。

3、下载Python 3.7.0 主页地址https://www.python.org/downloads/ ,直接下载链接:https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe ,安装时记得勾选” Add Python 3.7 to PATH”以便注册环境变量。

 

编译前准备:

  修改\PythonQt3.2\build下文件内容,原因是笔误或者未经测试的写法。

1、修改python.prf,修改python版本号,添加PYTHON_PATH,PYTHON_LIB,注意不能简单设定路径,还要改set 临时环境变量为变量的用法,就是$$()变为$${},修改前后见下图

 

2、修改PythonQt.prf,修改被拼错的路径,改为DESTDIR(vs和qt creator生成中间文件的目录不一致的,使用DESTDIR就一致了),如下图:

 

3、修改PythonQt_QtAll.prf,修改拼写错误,如下图所示:

 

4、修改PythonQt3.2\src\src.pro生成的lib dll 有后缀3的问题,即添加CONFIG += skip_target_version_ext

5、修改\PythonQt3.2\extensions\PythonQt_QtAll.pro 

 

开始编译:

方法1、使用VS编译,右键管理员运行createSolution.bat,使用vs打开PythonQt.sln,注意因为Python是二进制安装包,不是使用Qt编译源码来的,所以工程只能设置为Release,否则会提示Python_d.lib找不到。

编译PythonQt-Qt5-Python37,生成PythonQt-Qt5-Python37.lib和PythonQt-Qt5-Python37.dll

编译PythonQt_QtAll-Qt5-Python37,生成PythonQt_QtAll-Qt5-Python37.lib,PythonQt_QtAll-Qt5-Python37.dll

然后编译整个工程都会成功

方法2、使用Qt creator(vs2015),编译PythonQt.pro

打开PythonQt.pro,注意工程要选择Release

右键PythonQt,构建,需要注意与vs编译不同的是,lib的生成目录,会变为上级目录的\build-PythonQt-Desktop_Qt_5_11_2_MSVC2015_32bit-Release\lib

 

 

OVER

 

参考资料/文献:

PythonQt Building http://pythonqt.sourceforge.net/Building.html

PythonQt Introduction http://pythonqt.sourceforge.net/index.html

将Python嵌入到Qt程序中 https://my.oschina.net/u/2306127/blog/369663 

编译PythonQt的一点心得 https://blog.csdn.net/x18722498005/article/details/50975481

关于PythonQt3.1在Windows中的编译 https://blog.csdn.net/wcs20wp/article/details/62216103#commentBox

PythonQt在windows下的编译 https://www.cnblogs.com/zhangzhiming/p/5407644.html

编译PythonQt的一点心得 https://blog.csdn.net/x18722498005/article/details/50975481

 QT的pro文件编写,高效简洁,,路径设置 有空格 引入系统环境变量 https://blog.csdn.net/zkl99999/article/details/61197930

PythonQT 3.2 build failing on Windows https://sourceforge.net/p/pythonqt/discussion/631393/thread/45d39c91/

 

PythonQt使用
在Qt(C++)中与Python混合编程 https://www.cnblogs.com/xia-weiwen/p/7932379.html
PythonQt试用手记 https://blog.csdn.net/jingwenlai_scut/article/details/5325448
PythonQt进阶 http://www.cnblogs.com/zhangzhiming/p/5409284.html

 

C/C++使用Python API 方式与Python交互

C++调用Python浅析 https://blog.csdn.net/magictong/article/details/8947892
QT C++中直接调用python接口 https://blog.csdn.net/xiranchen/article/details/41843609
Qt与Python的混合编程相关配置以及问题说明 https://blog.csdn.net/chyuanrufeng/article/details/77753733
Qt中使用python--Hello Python! https://www.cnblogs.com/kaikai-king/p/7976339.html
QT中 使用c++调用 python http://www.cnblogs.com/shenghl/p/4442528.html
Qt+Python混合编程 https://blog.csdn.net/qq_29176963/article/details/82776575#_216

posted on 2018-10-22 17:01  jsjrj01  阅读(1619)  评论(0编辑  收藏  举报