先看效果:
没错,学过C#的同学应该很熟悉这个界面,按钮风格和界面风格很相似,万万没想到,python也可以做出这样的界面,简直了!(图 1)
正文开始
一、安装python
为啥要说这个,我们打开pip,搜索:PyQt5,或者直接打开下面的连接:
https://pypi.org/project/PyQt5/5.9.1/#files
可以看到(图2),PyQt5所支持的python版本是从3.5开始的,这里是用的3.6版本。
找一个python3.5以上的版本安装:
https://www.python.org/downloads/windows/
二、安装PyQt5
命令行使用pip安装:
pip3 install PyQt5
使用pycharm安装:
等待片刻,继续安装PyQt5-tools
pip install PyQt5-tools
使用pycharm安装:
三、配置pycharm
官网下载安装pycharm:https://www.jetbrains.com/pycharm/
1、点击:File -》Settings
2、Tools -》 External Tools -》点击“+”号(图4)
(ps:下面是我配置好的,你的软件还没有很正常,继续往下看)
3、设置Qt Designer
这里先看一下python3.6的安装路径,进入命令行。
修改三个地方,其他地方默认:
Name:Qt Designer
Programs:C:\Users\zulien\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\pyqt5-tools\designer.exe
Working directory:$ProjectFileDir$
(ps:Programs参数需要修改为你电脑里边的“designer.exe”路径)例如(图5)
4、配置PyUIC
设置四个地方,其他可以默认(我也不知道怎么改,那就默认吧)
Name:PyUIC
Programs:C:\Users\zulien\AppData\Local\Programs\Python\Python36-32\python.exe
Parameters:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$ProjectFileDir$
(ps:Programs参数需要修改为你电脑里边的python“python.exe”路径)(图6)
四、使用Qt Designer
1、完成以上步骤之后,点击 Tools -》External Tools -》Qt Designer 启动我们的Qt Designer (图7)
2、启动后选择:Widget,建立空白的窗口(图8),点击 Create,其他默认就行
3、从左边 1区 拖拽,注意是“拖拽”控件到 2区,在 3区 中修改对应属性(图9),很像vs有木有
4、基本的界面设置之后,会看到同目录下生成了一个“.ui”的文件(图10)
5、右键 External Tools -》PyUIC ,将“.ui”文件转为“.py”文件(图11)
6、这时,如果一切正常,没有报错的话,会在同目录下生成对应的“.py”文件(图12)
7、将下面的代码,放到生成的“.py”文件,放到最后就行(注意缩进)
if __name__=="__main__":
import sys
from PyQt5.QtGui import QIcon
app=QtWidgets.QApplication(sys.argv)
widget=QtWidgets.QWidget()
ui=Ui_Form()
ui.setupUi(widget)
widget.setWindowIcon(QIcon('web.png'))#增加icon图标,如果没有图片可以没有这句
widget.show()
sys.exit(app.exec_())
8、运行启动,好了,恭喜你,开启了pythonGUI
扩展:
sip
意思是说:
在从源代码构建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
方式二:pycharm安装
考虑懒癌患者,可以使用pycharm