PyQT5速成教程-1 简介与环境搭建
本文由 沈庆阳 所有,转载请与作者取得联系!
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
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
PyQT5速成教程-1 简介与环境搭建的更多相关文章
- qt学习教程1.qt开发环境搭建
qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...
- Bootstrap:教程、简介、环境安装
ylbtech-Bootstrap:教程.简介.环境安装 1. Bootstrap 教程返回顶部 1. Bootstrap 教程 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.B ...
- 简介及环境搭建跑通Hello
简介及环境搭建跑通Hello Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.是为了解决企业应用程序开 ...
- Android基础新手教程——1.2 开发环境搭建
Android基础新手教程--1.2 开发环境搭建 标签: Android基础新手教程 如今主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio ...
- Redis入门很简单之一【简介与环境搭建】
Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件 [Redis简介] <一>. NoSQL ...
- pyqt5 -——介绍及和pycharm的环境搭建
pyqt5简介: yQt5的类存在与如下模块当中: ● QtCore ● QtGui ● QtWidgets ● QtMultimedia ● QtBluetooth ● QtNetwork ● Qt ...
- 1.SpringMVC的简介和环境搭建
SpringMVC的简介: SpringMVC 和 Struts一样是一个MVC框架,和Spring无缝连接,和struts2类似, Spring MVC属于SpringFrameWork的后续产品, ...
- Java学习不走弯路教程(7.Eclipse环境搭建)
7.Eclipse环境搭建 在前几章,我们熟悉了DOS环境下编译和运行Java程序,对于大规模的程序编写,开发工具是必不可少的.Java的开发工具比较常用的是Eclipse.在接下来的教程中,我们将基 ...
- 一、springBoot简介与环境搭建
前言:学习计划 1.springBoot环境搭建 2.springBoot入门 3.srpingBoot整合Mybatis 4.springBoot整合Redis,Redis集群 5.springBo ...
随机推荐
- vim保存只读文件时获得sudo权限
有时使用vim时忘记输入sudo,导致编辑了一大堆文字,最后保存时发现是只读文件,无法保存,每次保存都会提示read only.这时可以使用如下命令代替原有的 :wq 命令 :w !sudo tee ...
- 在eclipse中导入hadoop jar包,和必要时导入源码包。
1. 解药hadoop包 1, C:\hadoop-2.7.2\share\hadoop 提取出所有的 jar 包, 到 _lib 文件夹下 2,将有含有source 名称的jar包 剪切出来 3, ...
- [No0000127]WCF安全体系netTCPBinding绑定
netTCPBinding绑定之Transport安全模式 一.netTCPBinding 此绑定使用TCP传输协议,不具交互性,只适用于 WCF 到 WCF 的通信. 此绑定的传输安全性的实现: ...
- shell监控之列出1小时内cpu占用最多的10个进程
脚本内容如下: -------------------------------------------------------------------------------------------- ...
- jctable
1.jctable 选择单项并删除: var items = Co["MyTable"].GetSelected("HtmlEle"); if (items.l ...
- OPTIMIZE TABLE linked list 表优化原理 链表数据结构 空间再利用
小结: 1.加快读写: 2.对于InnoDB表,在一定条件下,通过复制旧表重建: 3.实践中, 3.1.show processlist;查看线程,发现,认为堵塞读请求: 3.2.数据长度空间不变,索 ...
- lua--openresty--
lua-openresty---docker-- https://blog.csdn.net/boling_cavalry/article/details/79290944 lua-practice ...
- python fabric实现远程操作和部署示例
https://www.jb51.net/article/48434.htm 近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高,导致时间浪费还是优点多.修复bug什么的,测试,提交版本 ...
- openssh源码分析笔记
1.客户端保活: options.client_alive_interval options.client_alive_count_max 在wait_until_can_do_something() ...
- java 大数据运算 BigInteger BigDecimal
package cn.sasa.demo5; import java.math.BigDecimal; import java.math.BigInteger; public class BigDat ...