pyqt5入门教程之安装开发环境

第1篇 基础知识

本篇主要包括PyQt5入门、Python的下载与安装、搭建PyQt5开发环境、Python语言基础、Python中的序列、Python面向对象基础、创建第一个PyQt5程序以及PyQt5窗口设计基础等内容。

第1章 PyQt5入门

Python是一种语法简洁、功能强大的编程语言,它的应用方向很广,而GUI图形用户界面开发是Python的一个非常重要的方向,PyQt5作为一个跨平台、简单易用、高效的GUI框架,是使用Python开发GUI程序时最常用的一种技术。本章将对Python与PyQt5进行介绍。

1.1 Python语言介绍

1.1.1 了解Python

Python的设计哲学为优雅、明确、简单,实际上,Python始终贯彻着这一理念,以至于现在网络上流传着“人生苦短,我用Python”的说法。由此可见,Python有着简单、开发速度快、节省时间和容易学习等特点。

Python是一种扩充性强大的编程语言,它具有丰富和强大的库,能够把使用其他语言(尤其是C/C++)制作的各种模块很轻松地联结在一起,所以Python常被称为“胶水”语言。

1.1.2 Python的版本

Python自发布以来,主要有3个版本:1994年发布的Python 1.x版本(已过时)、2000年发布的Python 2.x版本(2020年3月已经更新到Python 2.7.17)和2008年发布的3.x版本(2020年6月已经更新到Python 3.8)。

1.1.3 Python的应用领域

Python作为一种功能强大的编程语言,因其简单易学而受到很多开发者的青睐。那么Python的应用领域有哪些呢?概括起来主要有以下几个方面。 Web开发 爬虫 游戏开发 大数据处理 人工智能 图形图像处理 自动化运维开发

例如,我们经常访问的集电影、读书、音乐于一体的创新型社区豆瓣网、国内著名网络问答社区知乎、国际上知名的游戏Sid Meier's Civilization(文明)等都是使用Python开发的。

1.2 GUI与PyQt5

Python是一门脚本语言,它本身并不具备GUI开发功能,但是由于它强大的可扩展性,现在已经有很多种GUI模块库可以在Python中使用,而这其中,PyQt5无疑是最强大、开发效率最高的一种,本节将对GUI及PyQt5进行介绍。

1.2.1 GUI简介

GUI又称图形用户接口或者图形用户界面,它是Graphical User Interface的简称,表示采用图形方式显示的计算机操作用户界面。 ​ GUI是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备对计算机进行操作。比如Windows操作系统就是一种最常见的GUI程序,另外,我们平时使用的QQ、处理表格用的Excel、处理图片用的美图秀秀、观看视频时使用的优酷等,都是GUI程序,如图1.7~图1.10所示。

1.2.2 什么是PyQt5

PyQt是基于Digia公司强大的图形程序框架Qt的Python接口,由一组Python模块构成,它是一个创建GUI应用程序的工具包,由Phil Thompson开发。 ​ 自从1998年首次将Qt移植到Python上形成PyQt以来,已经发布了PyQt3、PyQt4和PyQt5等3个主要版本,目前的最新版本是PyQt 5.14。PyQt5的主要特点如下: 

对Qt库进行完全封装。 使用信号/槽机制进行通信。 提供了一整套进行GUI程序开发的窗口控件。 本身拥有超过620个类和近6000个函数及方法。 可以跨平台运行在所有主要操作系统上,包括UNIX、Windows和Ma cOS等。 支持使用Qt的可视化设计器进行图形界面设计,并能够自动生成Python代码。

说明

(1)PyQt5不向下兼容PyQt4,而且官方默认只提供对Python 3.x的支持,如果在Python 2.x上使用PyQt5,需要自行编译,因此建议使用Python 3.8+PyQt5.14开发GUI程序。

(2)PyQt5采用双许可协议,即GPL和商业许可,自由开发者可以选择使用免费的GPL协议版本,而如果准备将PyQt5用于商业,则必须为此交付商业许可费用。

技巧 GPL协议是GNU General Public License的缩写,它是GNU通用公共授权非正式的中文翻译。使用GPL协议,表示软件版权属于开发者本人,软件产品受国际相关版权法的保护,允许其他用户对原作者的软件进行复制或发行,并且可以在更改之后发行自己的软件,但新软件在发布时也必须遵守GPL协议,不可以对其进行其他附加限制。这里需要说明的一点是,使用GPL协议的软件,不能申请软件产品专利,也就不存在“盗版”的说法。

1.2.3 PyQt5与Qt的关系

Qt(中国区官网:Qt中文官网 | 为嵌入式和桌面应用开发而生的跨平台软件开发框架)是1991年由挪威的Trolltech公司(奇趣科技)开发的一个基于C++的跨平台GUI库,它包括跨平台类库、集成开发工具和跨平台的IDE。 2008年6月,奇趣科技公司被诺基亚公司收购,Qt成为诺基亚旗下的编程语言工具,从2009年5月发布的Qt 4.5版本开始,诺基亚公司内部Qt源代码库开源。 2011年,芬兰的一家IT业务供应商Digia从诺基亚公司手中收购了Qt的商业版权,而到2012年8月,Digia又从诺基亚公司手中全面收购了Qt的软件业务,并于2013年7月3日正式发布Qt 5.1版本,截至2020年3月,Qt的最新版本为5.14。 Qt的发展历程如图1.11所示。 而PyQt(官网:Riverbank Computing | News)则是将Python与Qt融为一体,也就是说,PyQt允许使用Python语言调用Qt库中的API,这样做的最大好处就是在保留了Qt高运行效率的同时,大大提高了开发效率。因为,相对于C++语言来说,Python语言的代码量、开发效率都要更高,而且其语法简单、易学。PyQt对Qt做了完整的封装,几乎可以用PyQt做Qt能做的任何事情。 由于目前最新的PyQt版本是5.14,所以习惯上称PyQt为PyQt5。

综上所述,PyQt就是使用Python对Qt进行了封装,而PyQt5则是PyQt的一个版本,它们的关系如图1.12所示。

1.2.4 PyQt5的主要模块

PyQt5中有超过620个类,它们被分布到多个模块,每个模块侧重不同的功能。如图1.13所示为PyQt5模块中的主要类及其作用,在使用PyQt5开发GUI程序时,经常会用到这些类。

图1.13 PyQt5模块中的主要类及其作用

技巧 (1)图1.14中提到QtSvg模块主要提供了可用于显示SVG矢量图形文件的类,那么什么是SVG文件呢?SVG是一种可缩放的矢量图形,它的英文全称为Scalable Vector Graphics,是一种用于描述二维图形和图形应用程序的XML语言。SVG图像非常适合于设计高分辨率的Web图形页面,用户可以直接用代码来描绘图像,也可以用任何文字处理工具打开SVG图像,而且可以通过改变部分代码来使图像具有交互功能,并能够随时插入HTML中通过浏览器来观看。 (2)PyQt5的官方帮助地址为:PyQt5 Reference Guide — PyQt v5.15 Reference Guide,这是官方提供的在线英语帮助,如果读者有需要,可以查看。

图1.14 PyQt5的主要模块及作用

1.2.5 其他常用GUI开发库

除了PyQt5之外,Python还支持很多可以开发GUI图形界面程序的库,如Tkinter、Flexx、wxPython、Kivy、PySide、PyGTK等,下面对它们进行简单介绍。

1.Tkinter Tkinter又称“Tk接口”,是一个轻量级的跨平台图形用户界面(GUI)开发工具,是Tk图形用户界面工具包标准的Python接口,可以运行在大多数Unix、Windows和Ma cOS系统中,而且Tkinter是安装Python解释器时自动安装的组件,Python的默认IDLE就是使用Tkinter开发的。

2.Flexx Flexx是用于创建图形用户界面(GUI)的纯Python工具箱,该工具箱使用Web技术进行渲染。作为跨平台的Python工具,用户可以使用Flexx创建桌面应用程序和Web应用程序,同时可以将程序导出到独立的HTML文档中。 作为GitHub推荐的纯Python图形界面开发工具,它的诞生基于网络,已经成为向用户提供应用程序及交互式科学内容越来越流行的方法。

3.wxPython wxPython是Python语言的一套优秀的GUI图形库,可以帮助开发人员轻松创建功能强大的图形用户界面的程序。同时wxPython作为优秀的跨平台GUI库wxWidgets的Python封装,具有非常优秀的跨平台能力,可以在不修改程序的情况下在多种平台上运行,支持Windows、Mac OS及大多数的Unix系统。

4.Kivy Kivy是一款用于跨平台快速应用开发的开源框架,只需编写一套代码便可轻松运行于各大移动平台和桌面上,如Android、iOS、Linux、Ma cOS和Windows等。Kivy采用Python和Cython编写。

5.PySide PySide是跨平台的应用程序框架Qt的Python绑定版本,可以使用Python语言和Qt进行界面开发。2009年8月,PySide首次发布,提供和PyQt类似的功能,并兼容API。但与PyQt不同的是,它使用LGPL授权,允许进行免费的开源软件和私有的商业软件的开发;另外,相对于PyQt,它支持的Qt版本比较老,最高支持到Qt 4.8版本,而且官方已经停止维护该库。

6.PyGTK PyGTK是Python对GTK+GUI库的一系列封装,最经常用于GNOME平台上,虽然也支持Windows系统,但表现不太好,所以,如果在Windows系统上开发Python的GUI程序,不建议使用该库。

第2章 Python的下载与安装

第3章 搭建PyQt5开发环境

安装模块

pip install PyQt5==5.15.4 -i https://pypi.tuna.tsinghua.edu.cn/simple
​
pip install PyQt5-tools==5.15.4.3.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

测试代码

import sys
from PyQt5 import QtWidgets
 
app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()
widget.resize(360, 360)
widget.setWindowTitle("hello, pyqt5")
widget.show()
sys.exit(app.exec())

pip install PyQt5和pip install PyQt5-tools安装后,找不到designer.exe路径

C:\Users\kw0057194\Miniconda3\Lib\site-packages\qt5_applications\Qt\bin
​
C:\Users\Administrator\miniconda3\envs\python_pd_qt\Lib\site-packages\qt5_applications\Qt\bin
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康冕峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值