本文由 沈庆阳 所有,转载请与作者取得联系!

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完成安装。

 
完成Python3的安装

安装完成之后,打开命令行,输入python命令,如果出现如下界面则证明安装成功,这时输入exit()退出Python Shell。

 
命令行Python Shell

如果没有将Python加入环境变量的,只需找到Python的安装路径(如:C:/Python36),将(C:/Python36和C:/Python36/Scripts)其加入系统变量Path中即可。

PyQt5的安装

安装PyQt5则相对较为简单。熟悉pip命令的只需通过如下命令即可完成对PyQt5的安装:

pip install PyQt5
pip install PyQt5-tools

安装完成之后,命令行会出现如下提示:

 
pip安装

使用pip命令安装完成之后,PyQt5的包会出现在Python目录下Lib/site-packages目录下。

 
PyQt5包所在位置

测试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。

 
Project Interpreter

其右侧面板显示的就是我们已经安装了的包,并且可以通过加号来安装新的包。

 
安装新的包

在这一节,我们主要讲了与PyQt5环境搭建的相关知识。那么下一节我们将从QtDesigner入手,进行Python GUI开发的实战。

作者:养薛定谔的猫
链接:https://www.jianshu.com/p/c61fc80ad6b3
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

PyQT5速成教程-1 简介与环境搭建的更多相关文章

  1. qt学习教程1.qt开发环境搭建

    qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...

  2. Bootstrap:教程、简介、环境安装

    ylbtech-Bootstrap:教程.简介.环境安装 1. Bootstrap 教程返回顶部 1. Bootstrap 教程 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.B ...

  3. 简介及环境搭建跑通Hello

    简介及环境搭建跑通Hello Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.是为了解决企业应用程序开 ...

  4. Android基础新手教程——1.2 开发环境搭建

    Android基础新手教程--1.2 开发环境搭建 标签: Android基础新手教程 如今主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio ...

  5. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  6. pyqt5 -——介绍及和pycharm的环境搭建

    pyqt5简介: yQt5的类存在与如下模块当中: ● QtCore ● QtGui ● QtWidgets ● QtMultimedia ● QtBluetooth ● QtNetwork ● Qt ...

  7. 1.SpringMVC的简介和环境搭建

    SpringMVC的简介: SpringMVC 和 Struts一样是一个MVC框架,和Spring无缝连接,和struts2类似, Spring MVC属于SpringFrameWork的后续产品, ...

  8. Java学习不走弯路教程(7.Eclipse环境搭建)

    7.Eclipse环境搭建 在前几章,我们熟悉了DOS环境下编译和运行Java程序,对于大规模的程序编写,开发工具是必不可少的.Java的开发工具比较常用的是Eclipse.在接下来的教程中,我们将基 ...

  9. 一、springBoot简介与环境搭建

    前言:学习计划 1.springBoot环境搭建 2.springBoot入门 3.srpingBoot整合Mybatis 4.springBoot整合Redis,Redis集群 5.springBo ...

随机推荐

  1. CCPC-Wannafly Winter Camp Day1 Div1 - 夺宝奇兵 - [贪心+线段树]

    题目链接:https://zhixincode.com/contest/3/problem/J?problem_id=43 样例输入 1 4 1110 11 110 21 210 31 315 415 ...

  2. HDU 5985/nowcoder 207D - Lucky Coins - [概率题]

    题目链接:https://www.nowcoder.com/acm/contest/207/D 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5985 ...

  3. 静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?

    package test.two; public class jingtaihanshu { int x = 3; static int  y = 4; public static void Meth ...

  4. 在链表中,元素的"位序"概念淡化,结点的"位置"概念淡化

    在链表中,元素的"位序"概念淡化,结点的"位置"概念淡化 1 结点的描述与实现 C语言中用带指针的结构体类型来描述 typedef struct Lnode { ...

  5. [cloud][sdn] network namespace

    man 手册关于IP netns的介绍: http://man7.org/linux/man-pages/man8/ip-netns.8.html 一个非常好的介绍,有概念,有操作: http://c ...

  6. 树和二叉树->线索二叉树

    文字描述 从二叉树的遍历可知,遍历二叉树的输出结果可看成一个线性队列,使得每个结点(除第一个和最后一个外)在这个线形队列中有且仅有一个前驱和一个后继.但是当采用二叉链表作为二叉树的存储结构时,只能得到 ...

  7. jquery基础学习之动画篇(四)

    一,动画效果 hide() show() 隐藏与显示 hide(options) 隐藏 对应display:none,有参数就会变成动画, $(document).click(function () ...

  8. vue打包后出现"Failed to load resource: net::ERR_FILE_NOT_FOUND"错误

    创建vue脚手架搭建项目之后,用npm run build经行打包,运行index.html后出现异常: 打开dist/index.html, 诸如这些的,引入是有问题的, 这边的全部是绝对路径,而本 ...

  9. python pip install 报错TypeError: unsupported operand type(s) for -=: 'Retry' and 'int' Command "python setup.py egg_info" failed with error code 1 in

    pip install http://download.pytorch.org/whl/cu80/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl ...

  10. caffe 测试时间报错 Aborted at unix time

    今天测试时间报错,具体如下图: 在网上查了一下,大概的原因是由于程序中使用了随机函数造成的,后来检查了一下prototxt中有可能含有随机数的地方,去掉之后就可以了,包括shuffle:true,以及 ...