PythonQt在windows下的编译
笔者最近在做Qt方面的开发工作,然后需要用到脚本程序对程序内部进行扩展,就很自然的想到了Python,度娘一下发现了一款神器,也就是今天给大家介绍的主角:PythonQt
今天首先给大家介绍下PythonQt在Windows下的的安装编译,后续将做一个系列陆续介绍PythonQt在项目中使用时遇到的坑以及解决方法。
1.介绍
PythonQt是发布在Sourceforge上的一款开源的连接Qt与Python的框架,主页地址http://pythonqt.sourceforge.net/,目前更新到版本3.0;具体介绍可以访问主页进行了解;
2.下载与安装
访问链接:https://sourceforge.net/projects/pythonqt/files/pythonqt/可以下载该框架的所有版本,笔者使用了最新版本3.0,下面开始编译:
解压后可以看到一个build目录,里面存放有配置文件,在正式编译前需要对配置文件进行修改
# profile to include and link Python # Change this variable to your python version (2.6, 2.7, 3.3, ...)
win32::PYTHON_VERSION= # When using the prebuild Python installer, this will be:
PYTHON_PATH = c:\Python27
PYTHON_LIB = c:\Python27\libs # check if debug or release
CONFIG(debug, debug|release) {
DEBUG_EXT = _d
} else {
DEBUG_EXT =
} win32::INCLUDEPATH += $$PYTHON_PATH/PC $$PYTHON_PATH/include
win32::LIBS += $$PYTHON_LIB/python$${PYTHON_VERSION}$${DEBUG_EXT}.lib
将以上代码拷贝到原始Python.prf下,将win32::PYTHON_VERSION修改为你安装的Python版本,PYTHON_PATH、PYTHON_LIB修改为你自己的python目录即可。
然后执行createSolution.bat生成vs项目文件,即可使用vs对项目进行编译即可,(只需要编译项目PythonQt,PythonQt_QtAll即可,其他为例子和测试用例)
由于笔者没有安装python的debug版本,所以在编译pythonQt时,Debug版本是编译不过的,需要调试的同学需要首先安装python的Debug版本后才能编译pythonQt的debug版本。
-------------------------------------追加
注意:作为把自己给坑了的人,在这里必须给大家提醒下,在实际使用时,relase和debug之间不能混用,混用后会造成python不能正确使用的情况,所以你的应用程序在调试过程必须使用pythonqt的debug版本,笔者编译了python2.7.11,qt5.5.1版本下的pythonqt,由于附件比较大,需要的请留邮箱。
-------------------------------------追加结束
然后需要说明的是,在官方文档中,Python对支撑库版本要求说明:
- Qt 4.x (Qt 4.7 and Qt 4.8 recommended)
- Qt 5.x (Tested with Qt 5.0, 5.3 and 5.4)
PythonQt对python的支持版本
- Python 2 (>= Python 2.6)
- Python 3 (>= Python 3.3)
推荐 qt4.7,4.8 在5.0,5.3,5.4中跑过测试用例,在其他版本中实测是可以使用的,如果你对系统稳定性要求很高还是按官方文档的建议吧。
已编译好的安装包: http://download.csdn.net/detail/z182068171/9496116
原文地址:http://www.cnblogs.com/zhangzhiming/p/5407644.html
技术分享QQ群:527698177 (限四川地区)
PythonQt在windows下的编译的更多相关文章
- 原创 C++应用程序在Windows下的编译、链接:第一部分 概述
本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.ex ...
- 【FFmpeg】Windows下FFmpeg编译
由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...
- C++应用程序在Windows下的编译、链接(一)概述
C++应用程序在Windows下的编译.链接(一)概述 本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 c ...
- ACE在windows下的编译及配置(VS2010)
ACE在windows下的编译及配置(VS2010) 分类: -[小西南]- 2013-08-06 16:17 2354人阅读 评论( ...
- [转]QGis2.9在windows下的编译以及二次开发包下载
今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...
- windows下rabbitmq-c编译(带openssl、无需MinGW)
因为项目原因,需要使用到rabbitmq的c客户端库.首先,参见上一篇windows下openssl编译,如果已经使用cmake编译过了,则先delete cache(File-Delete Cach ...
- 设置 Quick-Cocos2d-x 在 Windows 下的编译环境
http://cn.cocos2d-x.org/tutorial/show?id=1304 设置 Quick-Cocos2d-x 在 Windows 下的编译环境 Liao Yulei2014-08- ...
- JAVA 基础开发环境 vscode 搭建 Windows下VSCode编译运行简单java
JAVA 基础开发环境 vscode 搭建 来源 https://www.cnblogs.com/freewsf/p/7744728.html 对于使用 Visual Studio Code 的 Ja ...
- Windows下CMake编译安装OpenCV
Windows下CMake编译安装OpenCV 这是一个面向新手的在windows上运进opencv, helloword的教程. 在这里我们使用vs2019来编译opencv, 并运行一个hello ...
随机推荐
- PHP mysqli_autocommit() 函数
定义和用法 mysqli_autocommit() 函数开启或关闭自动提交数据库修改. 提示:请查看 mysqli_commit() 函数,用于提交指定数据库连接的当前事务.请查看 mysqli_ro ...
- storm的可靠性
消息确认机制: 在数据发送的过程中可能会数据丢失导致没能接收到,spout有个超时时间(默认是30S),如果30S过去了还是没有接收到数据,也认为是处理失败. 运行结果都是处理成功 参考代码Storm ...
- 你的GAN训练得如何--GAN 的召回率(多样性)和精确率(图像质量)方法评估
生成对抗网络(GAN)是当今最流行的图像生成方法之一,但评估和比较 GAN 产生的图像却极具挑战性.之前许多针对 GAN 合成图像的研究都只用了主观视觉评估,一些定量标准直到最近才开始出现.本文认为现 ...
- NFS各个版本之间的比较
NFS是一种网络文件系统,从1985年推出至今,共发布了3个版本:NFSv2.NFSv3.NFSv4,NFSv4包含两个次版本NFSv4.0和NFSv4.1.经过20多年发展,NFS发生了非常大的变化 ...
- python之路之迭代器与生成器
一 迭代器 那么在研究迭代器之前首先应该要知道什么是迭代. 迭代:是一个重复的过程,并且每次重复都是建立基于上一次的结果而来的,所以在迭代的过程其实是在不断变化的. 迭代器:就是迭代取值的工具. 那 ...
- J2SE 8的脚本
1. 引擎工厂的属性 引擎 名字 MIME类型 文件扩展 Nashorn nashorn,Nashornjs,JSJavaScript,javascriptECMAScript,mcmascript ...
- Socket IO Web实时推送
1服务器pom.xml引入 <!-- 服务端 --> <dependency> <groupId>com.corundumstudio.socketio</g ...
- Safari-IoS调试
打开Safari浏览器,进入扩展功能,打开开发功能. 手机模拟器在设置中选择 javascript调试允许. 在模拟器中的页面,在Safari浏览器-开发模式-Serinator中选择打开的页面,即可 ...
- python常见异常提示
PEP8 expected 2 blank lines, found 1 定义方法时,出现期望是2个空白行,但是实际检测到是1个.方法与上面内容间隔期望为两个换行符 PEP8 This diction ...
- javaEncode
1.MD5加密 md5多用于用户密码加密或者签名使用,因md5不可逆,可用于身份验证. MessageDigest md5=MessageDigest.getInstance("MD5&qu ...