本文由 沈庆阳 所有,转载请与作者取得联系!
PyQt简介
一个良好的界面是人机交互中十分重要的一环。
Python作为脚本语言,起初并未拥有GUI开发的部分。但随着其开放的扩展性,使得Python不断壮大,有PyQt、Tkinter,PyGUI等GUI Toolkit以供GUI开发。
PyQt是Python语言的GUI编程解决方案之一。可以用来代替Python内置的Tkinter。其它替代者还有PyGTK、wxPython等。与Qt一样,PyQt是一个自由软件。PyQt是PyKDE的基础。
摘自:维基百科
自4.5版本以后,PyQt同时支持Python 2.x与Python 3.x。但是在API方面有所区别,最主要的是运行在Python 3.x下的PyQt不使用QString,而是str。另外,之前为了避开Python 2.x关键词限制的exec_()、print_()两个函数现在重命名为exec(),print()。
PyQt的官方网站:
Riverbank | Software | PyQt | What is PyQt?
目前PyQt5的最新版本为5.10.1。
Python2与Python3的区别
1、Python2与Python3的语法结构类似,但不完全兼容,如print等。
2、Python3的默认编码为UTF-8,对PyQt5的中文编码兼容好,不需要对中文字符串进行转义等操作。
3、PyQt5默认只支持Python3,对Python2则需要源码编译,较为繁琐。
PyQt5环境搭建
由于PyQt5的环境搭建在不同的操作系统下大同小异,因此这里选用Windows环境下搭建PyQt5开发环境。其他,如MacOS Linux各个发行版的环境搭建,后续有时间则补全。
Windows下搭建PyQt5开发环境
软件需求:
Python3
PyQt5
IDE(IDE自行选择,有PyCharm、Atom、Sublime、Eric等)
Python3下载地址:https://www.python.org/downloads/
PyQt5安装方法:使用PyPI安装
Python3的安装
首先是Python3的安装,这里我们打开相应版本(这里选择的是Python3.6.5)的下载界面,找到最下面的各个平台的各种版本:
由于我们是Windows 10 64位的版本,因此选择Windows x86-64 executable installer离线安装包。
选择安装地址,可选将Python加入环境变量,之后一路Next完成安装。
安装完成之后,打开命令行,输入python命令,如果出现如下界面则证明安装成功,这时输入exit()退出Python Shell。
如果没有将Python加入环境变量的,只需找到Python的安装路径(如:C:/Python36),将(C:/Python36和C:/Python36/Scripts)其加入系统变量Path中即可。
PyQt5的安装
安装PyQt5则相对较为简单。熟悉pip命令的只需通过如下命令即可完成对PyQt5的安装:
pip install PyQt5
pip install PyQt5-tools
安装完成之后,命令行会出现如下提示:
使用pip命令安装完成之后,PyQt5的包会出现在Python目录下Lib/site-packages目录下。
测试PyQt5
在安装完成Python3与PyQt5之后,我们新建一个QtTest.py的Python脚本,输入如下代码:
import sys
from PyQt5 import QtWidgits, QtCore
app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()
widget.resize(400, 400)
widget.setWindowTitle('Hello World')
widget.show()
sys.exit(app.exec__())
保存之后,回到命令行,进入相应目录下,通过
python QtTest.py
来运行。
上述代码创建了一个QWidget对象,并设置其大小为400*400,标题为“Hello World”。
PyQt5开发IDE
笔者使用的是PyCharm进行的PyQt5开发。在PyCharm中的包管理与PyPI不一样。PyCharm拥有可视化的包管理工具,具体在File -> Settings中找到Project面板下的Project Interpreter。
其右侧面板显示的就是我们已经安装了的包,并且可以通过加号来安装新的包。
在这一节,我们主要讲了与PyQt5环境搭建的相关知识。那么下一节我们将从QtDesigner入手,进行Python GUI开发的实战。
作者:养薛定谔的猫
链接:https://www.jianshu.com/p/c61fc80ad6b3
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。