简书的 markdown 没有目录,截图一张,让大家看的清楚,找到自己需要的东西。
- 更新日志:
- 2017年12月3日 增加 windows 配置
![](https://img.haomeiwen.com/i2880699/43a122abe1922914.png)
开发环境:
MAC OS 10.12.3 版本
(当前最新)
Pycharm 2016.3.2 版本
(当前最新)
Python 3.6.0 版本
(当前最新)
PyQt5 5.8.1 版本
(当前最新)
pyinstaller
:将python代码打包为可执行的exe文件。
exe文件给Windows用,但是本章不安装,但是不排除后期更新文章,因为博主还没入门,还没考虑这么多!!!“囧”)
为什么写这篇博客?
尼玛是资料太少(几乎没有完整的),花了1整天时间来配置,不希望大家也浪费,时间是金钱买不来的。
需要安装哪些东西呢?
- sip
- PyQt5
- Qt
- python
python不会安装的可以参考Python版本管理:pyenv和pyenv-virtualenv
Pycharm 安装自行百度,很简单,一路点击下一步。
sip
![](https://img.haomeiwen.com/i2880699/9c75441ecb134087.jpg)
意思是说:
在从源代码构建PyQt5之前,您必须已经构建并安装了SIP,就是说你必须要安装这个东西,那么这个东西是什么呢?
什么是sip?
sip是RiverBank(也就是PyQt的开发商)开发的用于PyQt的Python/C++混合编程解决方案。由于Qt框架的复杂性,PyQt并没有使用Cython、SWIG的混合编程方案,而是自己单独做了一套框架。sip包括一个sip工具、SDK和Python Module。
与SWIG类似,使用sip也需要先编写一个『配置文件』,然后使用sip工具『编译』为C++源文件,最后,和Qt库一起编译形成适用于Python的PyQt。
与SWIG不同的是,sip同时以Python Module的形式存在,也就是说,作为Python Module的PyQt,依赖于作为Python Module的sip。而对于SWIG,一旦自动生成的C++生成完毕,整个流程就不再依赖SWIG了。
需要注意:
如果你安装了PyQt4和PyQt5,那么PyQt4和PyQt5无法共享sip。
就像 Python2 和 Python3 严格说不能共享pip 一样,因为有差异,解决方案就是给每个目录配置独立的Python环境(virtualenv),可以参考Python版本管理:pyenv和pyenv-virtualenv。
安装sip
方式一:pip安装
使用支持的Python版本,你可以从PyPi安装SIP 通过运行:
pip3 install SIP
喜欢动手的可以试试下面的方式四,目前网上找到的教程都用自己编译的方式。
如果是mac可以用户使用方式三,也很简单,但是python 的环境就不容易隔离开了,不建议。
方式二:pycharm安装
考虑懒癌患者,可以使用pycharm
![](https://img.haomeiwen.com/i2880699/50e801b6b7e1ad97.jpg)
![](https://img.haomeiwen.com/i2880699/7da23e76cf9625ca.jpg)
方式三:使用Homebrew
brew install sip
不知道brew 的自行百度哈。
方式四:手动编译安装
选择这种方式的都是大神。😁
当开始编译后,后面的步骤最好也是“手动编译”。
下载地址:
https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.1/sip-4.19.1.tar.gz
用于64位Linux,OS X和32位和64位Windows的Python v3.5及更高版本。
编译安装步骤
tar xvf sip-4.19.1.tar.gz
cd sip-4.19.1
python3.5 configure.py -d /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
make
sudo make install
安装PyQt5
方式一:pip安装
使用支持的Python版本,你可以从PyPi安装SIP 通过运行:
pip3 install PyQt5
喜欢动手的可以试试下面的方式四,目前网上找到的教程都用自己编译的方式,哈哈。
如果是mac可以用户使用方式三,也很简单,但是python 的环境就不容易隔离开了,不建议。
方式二:pycharm安装
![](https://img.haomeiwen.com/i2880699/628658e11de16c28.jpg)
方式三:使用Homebrew
brew install pyqt
方式四:手动编译安装
下载地址:
https://www.riverbankcomputing.com/software/pyqt/download5
https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.8.1/PyQt5_gpl-5.8.1.tar.gz
二进制包
提供用于64位Linux,OS X和32位和64位Windows的Python v3.5及更高版本。
注意:
到此为止其实已经可以开发了,但是我们想要更爽的开发,可以直接拖动控件,所以需要QtDesigner,QtDesigner是QT的一个模块。
![](https://img.haomeiwen.com/i2880699/f5cdf0dd05f8a23d.jpg)
安装Qt
安装很简单,一路下一步,不用配置什么,默认的配置即可,我们只是用Qt的QtDesigner可执行程序,最后不用启动,直接关闭就行。
方式一:本地安装
http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-mac-x64-clang-5.8.0.dmg
http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run
http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-windows-x86-msvc2015_64-5.8.0.exe
这是我安装后的路径,其实最后就是要QtDesigner
![](https://img.haomeiwen.com/i2880699/552695464c023f85.jpg)
方式二:使用Homebrew
brew install qt
安装是命令行,不是可视化的点击下一步,我没有用这种方式。
注意:
到这里需要安装的都安装完成了,下面需要把所以安装的东西配置起来。
配置QtDesigner
可视化的拖控件写UI,一个字爽!
- 打开你的pycharm
![](https://img.haomeiwen.com/i2880699/89223a00b2e5f642.jpg)
![](https://img.haomeiwen.com/i2880699/7922af36d350497c.jpg)
windows的配置截图:
![](https://img.haomeiwen.com/i2880699/ad81e48ff0b86c31.png)
配置PyUIC
用于把QtDesigner创建的UI文件转换成py文件。
![](https://img.haomeiwen.com/i2880699/89223a00b2e5f642.jpg)
![](https://img.haomeiwen.com/i2880699/8c5f71a464c731e0.jpg)
Paramters里面的内容:
-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
配置完毕。
可以看到多了两个外部工具:
![](https://img.haomeiwen.com/i2880699/7d3ea06c65b20c0c.jpg)
如何使用:
mac 做的gif 只能播放一次,不知道咋回事,只能苦逼的一张图片一张的截图了😢。
创建第一个pyqt项目:
打开我们的QtDesigner,我们就可以写布局了。
![](https://img.haomeiwen.com/i2880699/9a1975d43763551b.jpg)
启动了Designer程序,我们就可以拖控件了。
我们创建窗口程序,选择Man Window
,让后点击create
。
![](https://img.haomeiwen.com/i2880699/f268fa95007a3d78.jpg)
点击create
后,会出现画布和控件
![](https://img.haomeiwen.com/i2880699/6ad7f21083de78bd.jpg)
拖动一个文本写点内容:
![](https://img.haomeiwen.com/i2880699/c428d1ac8c55a9a1.jpg)
保存布局文件。
![](https://img.haomeiwen.com/i2880699/31d8d906887690a0.jpg)
选择保存路径
![](https://img.haomeiwen.com/i2880699/6b5e42dedb70b91a.jpg)
此时在项目下可以看到这个文件了。
![](https://img.haomeiwen.com/i2880699/dd35ca434d53f0f5.jpg)
但是这个文件python不能直接运行啊,咋办?
此时需要我们上面配置的另一个工具了PyUIC
。
选中文件右键,选择我们之前配置的PyUIC
![](https://img.haomeiwen.com/i2880699/6dcac304a31a4564.jpg)
这个命令行工具就会把UI文件转成py文件。
![](https://img.haomeiwen.com/i2880699/ea357d69382e403e.jpg)
启动这个python文件,我们需要调用它:
编写 main.py:
![](https://img.haomeiwen.com/i2880699/a03d932a07e5fb93.jpg)
代码如下:
import sys
import HelloWorld
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = HelloWorld.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
如何运行:
![](https://img.haomeiwen.com/i2880699/d9e1d248e352eb32.jpg)
运行结果:
![](https://img.haomeiwen.com/i2880699/386d0f4aeb33ac04.jpg)
哦也,终于写出来第一个python的GUI程序!
花了一下午整理和写博客,不要吝啬你的赞、评论和 打赏 😜。
网友评论
File "C:\ProgramData\Python3\lib\site-packages\PyQt5\uic\pyuic.py", line 26, in <module>
from PyQt5 import QtCore
ImportError: DLL load failed: 找不到指定的模块。
这怎么治啊,我用的是Anaconda python3.dll是有的
另外,如何让程序和ui文件相互配合使用,,即修改的py文件执行后,同时ui文件也发生变化。反之,ui文件变化,py文件也同时发生自动变化???
因为我有套代码是网上下的 可是下完发现里面没有ui的文件
我想改其界面 请问怎么修改
我之前是使用Anaconda3安装的pyqt5 只能在python终端import PyQt5.uic.pyuic
后来卸载了Anaconda3 pip3 手动安装了PyQt5就正常了
安装一下就行了
pip3 install PyQt5
相比之下我写的太过简略。学习学习