PyQt5开发环境搭建
一 写在开头
1.1 本节内容
开个新坑—“PyQt5系列”,慢慢填。本文主要内容为PyQt5开发环境的搭建。
注意:PyQt 5.10以上的版本在Python 3.6中有BUG,PyQt 5.10版本是没有问题的。在使用pip3安装时可以指定版本为5.10,使用以下命令:
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 使用下列命令更新系统
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进行执行,如果准确无误的话,我们可以看到像下图所示的小窗空弹出来了。
#!/usr/bin/env python3
# -*- coding: utf-8 -*- import sys
from PyQt5.QtWidgets import QApplication, QWidget if __name__ == '__main__':
app = QApplication(sys.argv) w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show() 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如果出现了一个如下图所示的小弹窗则说明大功告成了!
import sys
from PyQt5.QtWidgets import QApplication, QWidget if __name__ == '__main__':
app = QApplication(sys.argv) w = QWidget()
w.resize(250, 150)
w.move(300, 300)
w.setWindowTitle('Simple')
w.show() sys.exit(app.exec_())
至此PyQt5的开发环境就搭建完成了。从此以后,你可以使用Qt Designer设计程序窗口,将其编译成python代码引入到eclipse工程中,然后在eclipse中编写响应事件轻轻松松完成桌面应用程序编写。
PyQt5开发环境搭建的更多相关文章
- Python3+PyQt5+PyCharm 桌面GUI开发环境搭建
Python3+PyQt5+PyCharm 桌面GUI开发环境搭建 一.安装python PyQt5所支持的python版本是不低于3.5版本 python3.5以上的版本安装:https://www ...
- PyCharm搭建pyqt5开发环境
PyCharm搭建PyQt5开发环境 1.安装PyQt5 2.PyCharm环境配置 2.1 添加QtDesigner 2.2 添加PyUIC 2.3 添加Pyrcc 2.4 添加assistant ...
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- IntelliJ IDEA安装及jsp开发环境搭建
一.前言 现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目, ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- node.js之开发环境搭建
一.安装linux系统 (已安装linux可跳此步骤) 虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N) 我这 ...
- TODO:小程序开发环境搭建
TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...
- Eclipse中Python开发环境搭建
Eclipse中Python开发环境搭建 目 录 1.背景介绍 2.Python安装 3.插件PyDev安装 4.测试Demo演示 一.背景介绍 Eclipse是一款基于Java的可扩展开发平台. ...
随机推荐
- SQLServer之创建LOGON触发器
LOGON触发器工作原理 登录触发器将为响应 LOGON 事件而激发存储过程. 与 SQL Server实例建立用户会话时将引发此事件. 登录触发器将在登录的身份验证阶段完成之后且用户会话实际建立之前 ...
- VMware14虚拟机下安装Centos6.5
一.下载VMware14,CentOS6.5光盘映像文件. https://pan.baidu.com/s/1WaTBnYuNC5dLYM_Ra2bjBQ 二.安装过程 1.打开VMware虚拟机 — ...
- 解决ajax get post方式提交中文参数乱码问题
最近在工作中遇到,使用ajax get方式提交中文参数的时候出现乱码,通过上网搜索,总结出比较简单的两种解决方案: 第一种,由于tomcat默认的字符集是ISO-8859-1,修改Tomcat中的se ...
- requests 进阶用法学习(文件上传、cookies设置、代理设置)
一.文件上传 1.模拟网站提交文件 提交此图片,图片名称:timg.jpg import requests files={ 'file':open('timg.jpg','rb') } respons ...
- SQL CHECK 约束
SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限 ...
- day22-多并发编程基础(三)
今天学习了并发编程中的最后一部分,协程,也是python中区别于java,c等语言中很大不同的一部分 1.协程产生的背景 2.协程的概念 3.yield模拟协程 4.协程中主要的俩个模块 5.协程的应 ...
- linux-python3.8安装
环境: centos7.5 版本:python3.8 1.依赖包安装 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-deve ...
- 网络安全实验室--SQL注入关
第一关 万能密码:username='or '1'='1'# password=1 即可登录得到flag. 第二关 最基础的注入,order by 判断字段数,然后 union selec ...
- Cesium如何通过addImageryProvider方法加载SkylineGlobe Server发布的WMS服务
某某某单位用SkylineGlobeServer7版本发布了好些服务,然后让我们在Cesium里都加载进来展示. 其实只要符合OGC标准的,加进来还是很容易的. 示例代码如下: function te ...
- iis+nginx实现负载均衡
简要说明:nginx的简介自行百度. 目的:把用户的请求分到各个服务器减轻压力.nginx把监听的端口的请求平均转到布署了网站的服务器. 一.windows上安装nginx 1.官网下载windows ...