后记:

由于自己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

Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)的更多相关文章

  1. Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)探索

    时间:2018年10月20日 笔者最近在做Qt方面的开发工作,需用到脚本程序对程序内部进行扩展,就很自然的想到了PythonQt,下面介绍PythonQt在Windows下的的安装编译心得,水平有限, ...

  2. 原创 C++应用程序在Windows下的编译、链接:第一部分 概述

    本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.ex ...

  3. C++应用程序在Windows下的编译、链接(一)概述

    C++应用程序在Windows下的编译.链接(一)概述 本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 c ...

  4. 设置 Quick-Cocos2d-x 在 Windows 下的编译环境

    http://cn.cocos2d-x.org/tutorial/show?id=1304 设置 Quick-Cocos2d-x 在 Windows 下的编译环境 Liao Yulei2014-08- ...

  5. Windows下CMake编译安装OpenCV

    Windows下CMake编译安装OpenCV 这是一个面向新手的在windows上运进opencv, helloword的教程. 在这里我们使用vs2019来编译opencv, 并运行一个hello ...

  6. 【FFmpeg】Windows下FFmpeg编译

    由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...

  7. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  8. [转]QGis2.9在windows下的编译以及二次开发包下载

    今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...

  9. windows下rabbitmq-c编译(带openssl、无需MinGW)

    因为项目原因,需要使用到rabbitmq的c客户端库.首先,参见上一篇windows下openssl编译,如果已经使用cmake编译过了,则先delete cache(File-Delete Cach ...

随机推荐

  1. LinkedHashMap 实现总结

    继承于HashMap,定义了新的内部类Entry用于实现双向链表保存记录的插入或访问顺序: accessOrder用于指示链表保存记录采用的顺序,true为访问顺序,false为插入顺序: 加入新的记 ...

  2. 通过给事件处理程序传递this参数,获取事件源对象的引用。单机提交按钮时在信息框中显示用户输入的字符。

    <script> function mymethod(str) { alert("您输入的是:"+str); } </script><form act ...

  3. Logo tools

    http://www.cilogo.com/LOGO/

  4. Java复习 之容器

    小生快要准备找工作了 现在开始复习一下Java基础之容器 Set和List是一个个往里面存 Map是两个两个往里面装 所谓重复指的是他们互相equals Collection 接口定义了存取一组对象的 ...

  5. vs2017中char* str = "1234asd56";会报错,——const char*类型的值不能用于初始化char*类型的实体

    原因: "1234asd56"是常量 ,正确的写法本身就是:const char* str = "1234asd56"; 之所以之前的vs版本可以写成char* ...

  6. pyhanlp python 脚本的demo补充

    java demo https://github.com/hankcs/HanLP/tree/master/src/test/java/com/hankcs/demo github python de ...

  7. 总是Eqw

    1.投递总是Eqw状态 qstat -j job_ID #Eqw状态的job id qconf -sq all.q |grep host qconf -shgrp @allhosts

  8. 从 mvc 到 REST

    1. 理解MVC MVC是一种经典的设计模式,全名为Model-View-Controller,即模型-视图-控制器. 其中,模型是用于封装数据的载体,例如,在Java中一般通过一个简单的POJO(P ...

  9. Animator

    [Animator] 1.State Machine Behaviours A State Machine Behaviour is a special class of script. In a s ...

  10. node 加载逻辑

    [node 加载逻辑] require(X) from module at path Y . If X is a core module, a. return the core module b. S ...