(01)PyQt5开发环境搭建

一 写在开头
1.1 本节内容
PyQt5开发环境的搭建

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 使用下列命令更新系统

sudo apt-get update
sudo apt-get upgrade

2.1.2 安装python3
注意:PyQt5不支持python2只支持python3,因此,在安装PyQt5之前需要有python3。不过,Ubuntu系统默认是安装有python3的,因此,这一步可以跳过。

2.1.3 安装pip3

sudo apt-get install python3-pip

注意:如果已经安装了pip3,这一步可以跳过。

2.1.4 安装PyQt5(GPL版)

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进行执行,如果准确无误的话,我们可以看到像下图所示的小窗空弹出来了。

 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安装在机器上。安装过程并不复杂因此这里不进行赘述。

注意:本人安装的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下载解压后放在你选择的安装目录然后在配置环境变量即可完成安装。因此,这里不再赘述安装过程。

注意:这里安装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中编写响应事件轻轻松松完成桌面应用程序编写。

如果你嫌自动化程序不够高还可以发动脑洞编写一个shell脚本简化ui文件的编译过程,一键完成ui文件的编译过程。值得一提的是:PyDev支持自动补全!PyDev支持自动补全!PyDev支持自动补全!

人生苦短,我用python!

原文地址:https://www.cnblogs.com/laizhenghong2012/p/8438429.html

时间: 2024-12-20 15:06:20

(01)PyQt5开发环境搭建的相关文章

[01] cocos2d-x开发环境搭建

cocos2d-x 是跨平台的游戏开发引擎,支持的平台有 ios , android , windows phone , web , tizen,windows等. 先来搭建开发环境,一般我们开发游戏的编码平台有以下几种: 1. windows 2.linux 3.mac os x 而使用cocos2d-x开发游戏的目标平台一般主要是 android和ios ,以及 windows. 当开发平台是windows时,游戏的目标平台只能是android,windows,windowsphone ,w

python3+PyQt5+pycharm桌面GUI开发环境搭建

python3+PyQt5+pycharm桌面GUI开发环境搭建 一.安装python PyQt5所支持的python版本是不低于3.5版本 python3.5以上的版本安装:https://www.python.org/downloads/windows/ 二.安装PyQt5 pip install PyQt5 pip install PyQt5-tools 三.配置pycharm 官网下载安装pycharm:https://www.jetbrains.com/pycharm/ 1,点击:Fi

ExtJS4.x 开发环境搭建

需要的资源 ExtJS4.2 eclipse 开发环境搭建 在项目中国需要引用的文件: 测试页面代码: <%@ page language="java" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>ExtJs 演示</t

图解MonoForAndroid开发环境搭建

电脑系统:windows 8.1 企业版 预装VS:2010旗舰版+2013 with update2旗舰版 ==================================== 1.1 安装java SDK 1.2 安装 JRE 1.3 设置环境变量-01-JAVA_HOME 1.4 设置环境变量-02-Path.png 1.5 设置CLASSPATH 1.6 测试java环境设置 2.1安装AndroidSDK-01检测JDK 2.2 安装AndroidSDK-02设置SDK安装路径 3

Golang开发环境搭建-Vim篇

Golang开发环境搭建-Vim篇 转自:http://tonybai.com/2014/11/07/golang-development-environment-for-vim/ 虽说sublimetext3+gosublime+gocode是目前较为 流行的Golang开发环境组合,但作为一名VIMer,没有一套得心应手的Vim for Golang dev心里总是过不去的.Golang虽然年轻,但即便是从Go 1版本发布(2012年3月28日)算起,掐指算来也有小三年了.全世界的开发者已经

CentOS开发环境搭建

一个月之前将系统换为Linux,昨天系统运行的时候突然死机,开机之后进不了系统,并且BIOS无法识别硬盘,无奈只有在普通硬盘上重装系统.搭建开发环境,为了避免再次遇到类似现象,或在下次遇到这类问题快速搭建开发环境,记录开发环境搭建的过程. 1.启用wifi echo "blacklist acer_wmi" > /etc/modprobe.d/blcklist.conf 华硕电脑无线模块有冲突,需要加上这一句话,重启,然后可连接wifi.如果行不通的话,请使用iw +wpa_su

django开发环境搭建(参考流程)

django开发环境搭建(参考流程) 2013-08-08 01:09:06 分类: LINUX 原文地址:django开发环境搭建(参考流程) 作者:bailiangcn 对于一个初学者,在实际的开发环境中,应该采用什么的样的工具来开发django呢? 我想环境至少应该具备的特性有: 多版本python环境的支持 版本控制 自动测试框架 数据库支持迁移 部署的自动化 参考文档 主要参考的文档-英文 virtualenv介绍 VirtualEnv 和Pip 构建Python的虚拟工作环境 使用V

extjs_01_开发环境搭建,hello word

1.下载Extjs4.1(下载地址:http://extjs.org.cn/node/558) 2.给MyEclipse安装Spket插件(可选操作,安装该插件可实现代码提示,安装帮助:http://www.tuicool.com/articles/nMRfe2) 3.复制Extjs4.1下载包下面项目需要引用的文件到webroot下边 项目结构如下图: 项目代码: index.jsp <%@ page language="java" import="java.util

(转)Hadoop Eclipse开发环境搭建

来源:http://www.cnblogs.com/justinzhang/p/4261851.html This document is from my evernote, when I was still at baidu, I have a complete hadoop development/Debug environment. But at that time, I was tired of writing blogs. It costs me two day’s spare tim