PyQt5开发环境搭建

一 写在开头
1.1 本节内容
开个新坑—“PyQt5系列”,慢慢填。本文主要内容为PyQt5开发环境的搭建。html

注意:PyQt 5.10以上的版本在Python 3.6中有BUG,PyQt 5.10版本是没有问题的。在使用pip3安装时能够指定版本为5.10,使用如下命令:java

sudo pip3 install pyqt5==5.10 -i https://pypi.tuna.tsinghua.edu.cn/simple



1.2 本节目标
在Ubuntu 16.04 LTS环境下搭建一个基于eclipse和Qt Designer的PyQt5开发环境。咱们能够使用Qt Designer设计好程序界面并生成ui文件,而后用pyuic5将ui文件编译成python代码,最后在eclipse中编写响应事件以构成完整桌面应用程序。须要咱们具备Ubuntu的基本操做经验。

二 安装PyQt5和Qt
2.1 安装PyQt5
2.1.1 使用下列命令更新系统python

sudo apt-get update sudo apt-get upgrade


2.1.2 安装python3
注意:PyQt5不支持python2只支持python3,所以,在安装PyQt5以前须要有python3。不过,Ubuntu系统默认是安装有python3的,所以,这一步能够跳过。

2.1.3 安装pip3linux

sudo apt-get install python3-pip

注意:若是已经安装了pip3,这一步能够跳过。

2.1.4 安装PyQt5(GPL版)vim

sudo pip3 install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:可使用国内的pip源以加快下载速度。上面命令中使用了清华大学的pip源,你能够根据实际状况更改。

2.1.5 测试安装
在命令行中输入pyuic5(pyuic5命令由PyQt5提供,做用是将ui文件编译成python代码)而后按回车,若是出现了“Error: one input ui-file must be specified”的字样,则说明pyuic5没问题了。(注:出现这个报错的字样是由于咱们没有指定ui文件)

使用vim建立一个python文件名为hello.py并填入如下代码。而后使用命令python3 hello.py进行执行,若是准确无误的话,咱们能够看到像下图所示的小窗空弹出来了。oracle

 1 #!/usr/bin/env python3
 2 # -*- coding: utf-8 -*-
 3 
 4 import sys  5 from PyQt5.QtWidgets import QApplication, QWidget  6 
 7 if __name__ == '__main__':  8     app = QApplication(sys.argv)  9 
10     w = QWidget() 11     w.resize(250, 150) 12     w.move(300, 300) 13     w.setWindowTitle('Simple') 14  w.show() 15 
16     sys.exit(app.exec_())

 

 

2.2 安装Qt
注意:安装Qt的目的是为了获取Qt Designer。暂时没有查到如何在没有安装Qt的状况下单独安装Qt Designer,因此不得不安装Qt以获取Qt Designer。
2.2.1 安装Qt
去Qt的官方网站(www.qt.io)下载linux下的离线Qt安装包,而后根据提示一步一步地将Qt安装在机器上。安装过程并不复杂所以这里不进行赘述。app


注意:本人安装的Qt版本为Qt 5.9.1并且其默认的安装路径为/opt/Qt5.9.1。

2.2.2 获取Qt Designer
若是将Qt安装在了默认的位置,那么能够在/opt/Qt5.9.1/5.9.1/gcc_64/bin路径下找到一个叫作designer的可执行文件,它就是Qt Designer。双击designer运行而后将其锁定在启动器上方便下次打开。

2.2.3 测试安装
打开Qt Designer,以下图所示,新建一个基于Main Window的ui文件。而后从左侧的控件中选择一个Push Button拖入中间空白区域,并将它的文字改成Hello World。将这个ui文件保存为window.ui。


打开命令行,使用命令pyuic5 window.ui > window.py将window.ui文件编译成python代码,python代码将保存在window.py中。打开window.py,若是可以看到以下图所示的内容则代表安装成功。能够看到代码最后一行正表示咱们把按钮上的文字改为了Hello World,所以,ui文件window.ui和python代码window.py是相对应的。


三 安装eclipse和pydev
3.1 安装jdk
去Java官网(http://www.oracle.com/technetwork/java/javase/downloads/index.html)下载jdk而后根据Java提供的文档进行安装,最后设置好环境变量。安装过程很简单,在64位的Ubuntu下只要将Java SE的jdk下载解压后放在你选择的安装目录而后在配置环境变量便可完成安装。所以,这里再也不赘述安装过程。eclipse


注意:这里安装jdk的目的是为eclipse提供jre,由于eclipse是基于Java的。与此同时,你能够只安装jre而不安装jdk若是你不进行Java开发的话。这里为了省事直接安装jdk。

3.2 安装eclipse
同jdk的安装同样。去eclipse官网(www.eclipse.org)下载64位的linux版eclipse将其解压放在你选择的目录下便可。这里不赘述安装过程。测试


注意:eclipse的顺利运行取决于你安装好了jre并正确设置了环境变量。

3.3 安装pydev
3.3.1 安装pydev
打开eclipse,而后选择Help-->Install New Software...。在弹出的界面中选择Add...,而后在Name和Location中分别填入PyDev和http://pydev.org/updates以下图所示,而后点击OK。通过一段时间的等待后选中出现的PyDev选项选择安装便可。


3.3.2 安装配置和测试
在安装好PyDev后,重启eclipse,选择Window-->Preferences-->PyDev-->interpreters-->Python Interpreter。在弹出的界面中点击Quick Auto-Config两次。注意是两次!第一次点击找到的是python2的解释器,即下图中的python和/usr/bin/python这一行。第二次点击找到的才是python3的解释器。此时出现的第二行是python1和/usr/bin/python3。为了避免被搞糊涂,将第二行中的python1改成python3,以下图所示。改完后点击Apply and Close完成配置。
网站


接下来咱们创建一个小项目来测试安装。在eclipse中选择File-->New-->Project...-->PyDev-->PyDev Project来建立一个PyDev项目。将项目命名为PyQt5-Test。完成以后,eclipse将打开PyDevProject视图。而后点击PyQt5-Test项目新建一个名为src的文件夹。点击src文件夹右键选择New-->PyDev Module新建一个名为Test.py的python文件。注意是选择PyDev Module!(注意:此时PyDev会要你选择Templates,使用默认的Empty便可,以下图所示)而后在Test.py中填入如下内容。保存文件,点击左上角的Run PyQt5-Test Test.py若是出现了一个以下图所示的小弹窗则说明大功告成了!

 1 import sys  2 from PyQt5.QtWidgets import QApplication, QWidget  3 
 4 if __name__ == '__main__':  5     app = QApplication(sys.argv)  6     
 7     w = QWidget()  8     w.resize(250, 150)  9     w.move(300, 300) 10     w.setWindowTitle('Simple') 11  w.show() 12     
13     sys.exit(app.exec_())



至此PyQt5的开发环境就搭建完成了。今后之后,你可使用Qt Designer设计程序窗口,将其编译成python代码引入到eclipse工程中,而后在eclipse中编写响应事件轻轻松松完成桌面应用程序编写。