后记:
由于自己low,没有下载罪行的python3.2导致编译上遇到种种问题,后文可以参考,建议看:
《Windows7 VS2015 下编译 PythonQt3.2》
时间: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,地址,直接下载链接。
2、PythonQt是发布在Sourceforge上的一款开源的连接Qt与Python的框架,主页地址 ,目前更新到版本3.2,直接下载链接:,下载后解压。
3、下载Python 3.7.0 主页地址 ,直接下载链接:,安装时记得勾选” 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
PythonQt Introduction
将Python嵌入到Qt程序中
编译PythonQt的一点心得
关于PythonQt3.1在Windows中的编译
PythonQt在windows下的编译
编译PythonQt的一点心得
QT的pro文件编写,高效简洁,,路径设置 有空格 引入系统环境变量
PythonQT 3.2 build failing on Windows
PythonQt使用在Qt(C++)中与Python混合编程 PythonQt试用手记 PythonQt进阶
C/C++使用Python API 方式与Python交互
C++调用Python浅析
QT C++中直接调用python接口 Qt与Python的混合编程相关配置以及问题说明 Qt中使用python--Hello Python! QT中 使用c++调用 python Qt+Python混合编程