pyqt5示例_木辛老师的编程课堂:Python和Qt第一讲之初识PyQt5

让我们初步认识一下PyQt5,了解一下它能给我们带来的强大功能吧

请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习Python编程知识,变身快乐的编程达人吧~

PyQt简介

在当今的软件设计开发中,图形用户界面的设计非常重要,美观、易用的用户界面能够在很大程度上提高用户粘性;

所以呀,很多软件公司和设计开发人员会花费很大的精力制作软件界面。

木辛博士说

GUI是Graphical User Interface的英文简称,也就是平时我们说的图形用户界面;准确的说,GUI就是用户使用软件,与软件进行交互的部分。

GUI是一种结合计算机科学、美学、心理学以及商业需求的一种人机交互工程,着重强调人、机、环境的协调与统一。

Python最初被设计为一门脚本语言,当时并没有集成GUI的功能,但是由于自身的非常良好的可扩展性,能够不断的通过C、C++模块进行功能性的扩展,因此目前已经拥有了非常多的GUI控件集(Toolkit)了。

在Python中经常使用的GUI有很多,比如:

  1. PyQt
  2. Tkinter
  3. wxPython

等等;其中PyQt是Qt专门为Python提供的GUI扩展。

木辛博士说

PyQt是一个用于创建GUI应用程序的跨平台的工具包,他将Python编程语言和Qt库融合在一起。Qt库是一个比较强大的GUI库。

PyQt是由Phil Thompson开发的,实现了一个Python模块集。PyQt可以运行在所有主流的操作系统上,包括:UNIX、Windows、MacOS。PyQt采用双许可证,开发人员可以选择GPL和商业许可。

咱们通过访问PyQt5的官网

1dd81cf6c687977b3f99dd5df8bef721.png

PyQt的官方介绍网站

可以找到PyQt的相关知识,并可以下载PyQt的对应版本。

我们之后的课程,将会使用PyCharm和PyQt 5.13.0 版本进行示例的演示。

04d77b14e83d681420af6ef6f7bc54ca.png

使用PyCharm安装PyQt扩展

PyQt只是连接Python和Qt的桥梁,我们在开发过程中,还需要借助强大的Qt才能完成开发任务。

Qt大家也许没有很深刻的印象,但是大家一定知道诺基亚手机吧?

前几年大名鼎鼎的诺基亚手机的智能操作系统就是使用Qt开发的,因此在一个很长的时间里。Qt是诺基亚旗下的官方编程语言工具。

直到后来Qt再次易主,被芬兰的IT业务供应商Digia收购。

之后Qt正式发布了多个经典版本,并通过开源授权(LGPL和GPL)以及商业授权的方式提供给大家使用。

木辛博士说

GPL协议:软件版权属于开发者本人,软件产品受国际相关版权法的包含。允许其他用户对原作者的软件进行复制或者发行,并且可以在更改之后发行自己的软件。

但是新软件在发布时也必须遵守GPL协议,不得对其进行其他的附加的限制。在GPL下不存在“盗版”的说法,但是用户不能将软件据为己有,比如申请软件产品“专利”等,因为这将违反GPL协议并且侵犯了原作者的版权。

PyQt的特点

PyQt经历了PyQt3、PyQt4、PyQt5三个版本。PyQt于1998年初次发布,并且也提供了GPL版和商业版本。

PyQt正在受到越来越多的Python程序员的喜爱,这是因为PyQt不仅被很多世界500强的大公司采纳,更是因为具备了很多优秀的特征:

  1. 基于高性能的Qt的GUI控件集
  2. 可以运行于多个平台:Windows、MacOS、Linux等系统
  3. 使用信号和槽机制进行通信
  4. 对Qt库的完全封装
  5. 可以使用Qt成熟的IDE(比如Qt Designer)进行图形界面的设计,并且可以自动生成可执行的Python代码
  6. 提供了一整套种类繁多的窗口控件

Qt和PyQt的关系

刚才我们提到过:PyQt是连接Python和Qt的桥梁。

首先,PyQt是Qt框架的Python语言版本的实现。PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都有其对应的Qt控件。

而且,因为PyQt不再提供qmake系统和Q_OBJECT宏,使得PyQt再也没有编译连接错误,PyQt的代码也更加友好。

其次,在开发速度上,由于PyQt的核心就是Qt库,也是使用C++编写的,所以即使逻辑代码运行的速度慢一些,但是也不会成为瓶颈。

在使用方式上,借助Python的优雅的语法、快速开发的能力,使得PyQt的开发效率更高;而且同样的功能,使用相同的应用接口,Python版本的代码只有50%左右,而且更容易阅读。

最后,由于PyQt向Python程序员提供了使用完整的Qt应用程序接口的函数,几乎可以用Python完成任何Qt的工作。

Qt和PyQt的设计都是面向对象的。同样都采用了信号和槽的机制传递事件和消息,使得程序的开发更加安全和简介。

其他的GUI

当然了,鉴于Python的强大的可扩展性,有很多优秀的GUI因此被整合到了Python中,让Python可以在图形界面编程领域大展身手。

有兴趣的同学们可以给木辛老师发送私信了解详情,如果希望看到对应扩展的详细课程,可以给木辛老师留言哟!

好了,今天的课程就先到这里了。我们已经对PyQt有了一个初步的了解。接下来的课程里,我们会从0到1,使用Python和PyQt搭建一个我们自己的应用软件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值