MacOSX系统下安装PyQt5.5.1

来源:互联网 发布:加拿大 软件 研究生 编辑:程序博客网 时间:2024/06/05 06:09

PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。PyQt是由Phil Thompson 开发。

PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。

因为可用的类有很多,他们被分成几个模块。 QtCore模块包含核心的非GUI功能。该模块用于时间、文件和目录、各种数据类型、流、网址、MIME类型、线程或进程。QtGui模块包含图形组件和相关的类,例如按钮、窗体、状态栏、工具栏、滚动条、位图、颜色、字体等。QtNetwork模块包含了网络编程的类,这些类允许编写TCP/IP和UDP的客户端和服务器,他们使网络编程更简单,更轻便。QtXml包含使用XML文件的类,这个模块提供了SAX和DOM API的实现。QtSvg模块提供显示的SVG文件的类。可缩放矢量图形(SVG)是一种用于描述二维图形和图形应用程序的XML语言。QtOpenGL模块使用OpenGL库渲染3D和2D图形,该模块能够无缝集成Qt的GUI库和OpenGL库。QtSql模块提供用于数据库的类。
---摘自百度百科

好了,介绍完了啥是PyQt,下面进入正题,我的系统是OS X EI Capitan(版本10.11.4),是64位系统,按照如下步骤安装PyQt5成功。

因为依赖关系,在安装PyQt5之前,必须先安装SIP(这是将Python绑定到C++库的工具)!
我是下的比较新的sip-4.17及PyQt-gpl-5.5.1.tar.gz

Sourceforge下载地址:https://sourceforge.net/projects/pyqt/files/?source=navbar
riverbank下载地址:http://www.riverbankcomputing.com/software/pyqt/download
注:鉴于国内悲催的网络状况,可能需要翻墙!

下载完成后,将sip及PyQt文件放到指定目录(最好不要太深的根目录)
首先搞定sip:
解压,make,再安装

tar -xvf sip-4.17.tar(根据自己的情况换成具体版本)
python configure.py
make
sudo make install

加入在最后一步install时出现不能复制文件的问题(无权限),解决方法如下:
1    重启系统
2    按住 Command + R 进入 Recoverary 模式
3    点击 实用工具 > 终端
4    输入 csrutil disable
5    重启系统
这时我们再重新编译安装 sip 就没有任何问题了。
解决方法具体参考“解决MacOSX10.11安装Sip无权限问题.page”文件。

然后是pyqt5
安装pyqt5需要上面的sip,还需要qmake,也就是一个QT的环境:

编译需要有qmake,所以我们需要先安装好QT,再将QT5加到环境变量~/.bash_profile,在终端输入:
export PATH=/Users/jimmy/.cabal/bin:/Users/jimmy/Qt5.6.0/5.6/clang_64/bin:$PATH

注意:请将用户名”jimmy”更换为自己的用户名,并将“/Users/jimmy/Qt5.6.0/5.6/clang_64/bin”更换成自己系统下make所在的目录(下同)。

下面的/Library/Python/2.7/site-packages/也就是包的位置,如何查看?
import site; site.getsitepackages()

接着编译,在终端输入:
python configure.py -q /Users/jimmy/Qt5.6.0/5.6/clang_64/bin/qmake -d /Library/Python/2.7/site-packages/ --sip /System/Library/Frameworks/Python.framework/Versions/2.7/bin/sip

编译完成后安装
make(耗时较长,可以去睡一会)
sudo make install

安装完PyQt后,在PyQt的examples目录下有很多官方的例子,可以运行目录下任何一个例子查看运行效果,并学习其中的代码。
运行方式:
cd examples/qtdemo/
python qtdemo.py
之后就可以看到有窗口运行出来了。

一个简单的示例如下:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()
    sys.exit(app.exec_())

将上述代码拷贝到文本文件里,将后缀txt改为py,假设为“text.py”,然后在终端下cd到该文件目录,输入“python text.py”既可。
效果如下:



后续将有更多关于开源GUI设计工具方面的文章,共同期待!


0 0
原创粉丝点击