0.图形用户界面-开发选择

在Python基础的教程中,我们程序的用户交互界面都是运行窗口。这个运行窗口对于我们编程者来说直观明了,但是对于一些相对复杂的程序,用户使用上就会变得十分麻烦。所以,我们要通过设计用户交互界面来解决这种问题。

程序的图形用户交互界面,英文称之为GUI(Graphical User Interface)

如果用Python语言开发图形界面程序,主要有三种选择:

Tkinter:基于Tk的Python库,这是Python官方采用的标准库,优点作为Python的标准库、稳定、发布程序较小,缺点是控件相对较少。

wxPython:基于wxWidgets的Python库,优点是控件比较丰富,缺点是稳定性相对差点、文档少、用户少。

PyQt5:基于Qt的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。缺点是:库比较大,发布出来的程序比较大。

1.什么是Qt

Qt是使用C++语言编写的跨平台GUI库,支持Windows、Mac OS和Linux。由于Qt使用C++语言编写,所以使用Qt开发的GUI程序的界面风格与当前操作系统完全相同,而且运行效率很高

2.什么是PyQt5

PyQt是一个用于创建GUI应用程序的工具包,它将Python与Qt库融为一体。也就是说PyQt允许使用Python语言调用Qt库中的API。这样做得最大好处就是在保留了Qt高运行效率的同时,大大提高了开发效率。因为,使用Python语言开发程序要比使用C++语言开发程序快得多。PyQt对Qt做了完整的封装,几乎可以用PyQt做Qt能做的任何事情。

由于本教程使用的PyQt版本是5.15,所以习惯上称PyQt为PyQt5

3.为什么要开发桌面应用程序

桌面应用程序,也可以成为GUI应用程序。虽然现在Web和移动应用程序看似成为了现在的主流。但桌面应用目前仍然为很多类型应用的首选。

移动应用屏幕小,机器性能远低于同时代的PC机。

Web应用是无法完全控制本机的硬件,如摄像头,蓝牙设备,打印机,串口等。

【Python进阶-PyQt5】00PyQt5简介的更多相关文章

  1. Python进阶5---StringIO和BytesIO、路径操作、OS模块、shutil模块

    StringIO StringIO操作 BytesIO BytesIO操作 file-like对象 路径操作 路径操作模块 3.4版本之前:os.path模块 3.4版本开始 建议使用pathlib模 ...

  2. python进阶02 特殊方法与特殊属性

    python进阶02 特殊方法与特殊属性 一.初始化.析构 1.初始化 # python中有很多双下划线开头且以下划线结尾的固定方法,它们会在特定的时机被触发执行,这便是特殊方法 # 在实例化的时候就 ...

  3. Django---图书管理系统,一对多(外键设置),__str__和__repr__的区别,进阶版项目说明简介.模版语言if ... else ..endif

    Django---图书管理系统,一对多(外键设置),__str__和__repr__的区别,进阶版项目说明简介.模版语言if ... else ..endif 一丶__str__ 和 __repr__ ...

  4. Python 3.0(一) 简介

    Python 3.0(一) 简介 [目录] 1.简介 2.python特点 3.安装 简介: Python是可以称得上即简单又功能强大的少有的语言中的一种.你将会惊喜地发现,专注于问题的解决方案而不是 ...

  5. Python进阶:函数式编程实例(附代码)

    Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...

  6. Python进阶 - 对象,名字以及绑定

    Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...

  7. Python进阶-继承中的MRO与super

    Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...

  8. Python进阶 - 命名空间与作用域

    Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...

  9. python进阶学习笔记(一)

    python进阶部分要学习的内容: 学习目标: 1.函数式编程 1.1,什么是函数式编程 函数式编程是一种抽象计算的编程模式 不同语言的抽象层次不同: 函数式编程的特点: python支持的函数式编程 ...

  10. 【python进阶】详解元类及其应用2

    前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...

随机推荐

  1. 防抖节流utils

    /** * 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数 * * @param {Function} func 要执行的回调函数 * @param {Number} wait ...

  2. L3-017 森森快递

    一.题目: 7-2 森森快递 (30 分) 森森开了一家快递公司,叫森森快递.因为公司刚刚开张,所以业务路线很简单,可以认为是一条直线上的N个城市,这些城市从左到右依次从0到(N−1)编号.由于道路限 ...

  3. 在 Net Core 开发中如何解决 Cannot access a disposed object 这个问题

    一.简介 Net Core跨平台项目开发多了,总会遇到各种各样的问题,我就遇到了一个这样的问题,不能访问 Cannot access a disposed object 错误,经过自己多方努力,查阅资 ...

  4. Vue自定义指令-让你的业务开发更简单

    1.使用场景 在日常开发中,我们会将重复代码抽象为一个函数或者组件,然后在需要时调用或者引入.但是,对于某些功能,这种方法可能不够优雅或者不够灵活.例如,我们可能需要在DOM元素上添加一些自定义属性或 ...

  5. RT_object

    以下图片来自"张世争"的微博  

  6. 【C++ Primer】2.1 基本内置类型

    1. 基本内置类型 基本算数类型: 类型 含义 最小尺寸 bool 布尔类型 8bits char 字符 8bits wchar_t 宽字符 16bits char16_t Unicode字符 16b ...

  7. 【Azure 媒体服务】Azure Media Player 在Edge浏览器中不能播放视频问题的分析与解决

    问题描述 使用Azure Media Service 制作视频点播服务,在客户端使用 Azure Media Player 播放器在 Edge 浏览器中播放视频时候遇见无法播放的问题: 错误信息: T ...

  8. MODBUS-TCP转Ethernet IP 网关连接空压机配置案例

    本案例是工业现场应用捷米特JM-EIP-TCP的Ethernet/IP转Modbus-TCP网关连接欧姆龙PLC与空压机的配置案例.使用设备:欧姆龙PLC,捷米特JM-EIP-TCP网关, ETHER ...

  9. Git的基本操作(CUDR)及分支

    ## 安装 到Git官网下载,网站地址:https://git-scm.com/downloads 需要从网上下载一个,然后进行默认安装即可.安装完成后,在开始菜单里面找到 "Git --& ...

  10. FlutterWeb部署到服务器

    目标:把flutter web项目部署到自己的服务器上,可以使用自己的服务器IP访问 前提:服务器已经安装了nginx, 这是我的flutter配置 edz@lwqdeMacBook-Pro ~ % ...