美文网首页
Python-GUI编程-库的选择

Python-GUI编程-库的选择

作者: 百川一页 | 来源:发表于2018-09-02 22:18 被阅读902次

点我观看配套视频


一、业界标准-官方文档

关于Python的GUI编程,Python有个专门的官方文档介绍;
建议大家学习知识点多去看官方文档,没有比这更权威的了;
官方文档地址

二、常用库简介

1. Python中常用的GUI库

  • Python官方标准库:Tkinter
  • 三方库:PyQt
  • 三方库:PySide
  • 三方库:wxPython
  • 三方库:PyGUI
  • 三方库:Kivy
  • 三方库:Libavg
  • ... ...

疑问:为什么会有那么多库?搞一个统一的不就可以了吗?

答: 你先给我解释下:为什么会有那么多不同品牌的车,整一种不就可以了吗?
其实每一个库都有优缺点;只要根据我们的需求和对每个库优缺点的了解,才能选出合适的库。跟找对象一样。

2. 选择合适库的依据

防撕逼声明:没有最好的,只有最适合的。仅供参考!

  1. 简单好用

    如果一个库实现一个非常简单的功能,都需要几十行代码,过于复杂, 那肯定不适合;
    但需要知道一点:一个库的高封装性,虽然使用起来非常爽,非常简单;
    但同时带来的问题就是:缺乏灵活性,不太好定制一些功能;需要大家自己衡量;
    
  2. 功能强大

    一般情况下,库的功能越强大越好!
    但不绝对,强大意味着库比较重量级;
    假设你根本不需要这些功能,那这些强大的功能代码将变成累赘
    如同:你就只需要打电话,发短信功能;买个低配的诺基亚就行,为啥耗费更多的钱去买iPhone X
    
  3. 文档齐全,方便查看

    这一点拒绝反驳!
    库是别人写的,简单说:
    一个函数;函数名别人写的,参数个数,参数含义都是别人定义的;
    如果别人不告诉你,你想知道具体怎么用,会耗费极大的精力;
    例如:Sz 写了一个牛逼的功能函数:
    
    def xxx(a, b, c, d):
        pass
    
    看不到源码,没有注释的情况下,你给我猜着用吧!
    

    官方标准库Tkinter就存在这样的问题!
    除下自己以外,
    其他不写注释的程序猿都是在耍流氓!

  4. 性能高

    虽然现在计算机性能都挺好;
    可是你展示个简单控件,响应个用  户点击都要好几秒,这绝对说不过去!
    
  5. 生态支持

    拿GUI编程来说,能够有匹配的工具来辅助你完成项目,那肯定是极好的;
    试想:一个项目包含很多界面,假设每个界面都是纯手工去写,那绝对是苦逼的以泪洗面;
    但是此刻,如果有个辅助界面设计工具
    你只需要拖拽就可以完成界面搭建,几乎不需要写代码,你会不会很开心?
    所以,有良好的生态,也非常重要。
    
  6. 跨平台支持

    这个不绝对,但是如果写同一份代码;
    不需要怎样改动就可以运行在:Mac, Win, Android, iOS等等操作系统,
    而且会根据不同的系统来调整对应的风格;
    你就说你开不开心吧
    
  7. 开源免费

    嘿嘿嘿嘿嘿嘿嘿
    你
    懂
    得
    .
    .
    .
    

三、最终选择-PyQt

1. PyQt是什么?

PyQt是Qt最流行的Python绑定之一

简单理解

  • 使用Python重新实现了一遍Qt的功能
    Python的语法简洁, 最终代码量更少
    阅读起来更容易理解

  • 在实现的时候, 几乎保持了全部原有的API
    学习完PyQt之后, 只要掌握C++语法之后
    就可以快速的接手Qt的使用

2. 本质还是Qt

Qt 是 C++写的一个跨平台的GUI开发框架

Qt发展

  • 1991年奇趣科技公司开发的C++ GUI应用程序
  • 2008年奇趣被诺基亚收购,Qt也就变成诺基亚的了
  • 2012年,Qt被Digia收购
  • 2014年发布了Qt5.3正式版,至此,对iOS,Android,WP等平台进行了全面支持
    现在提供了开源版本和商业版本

Qt官网
https://www1.qt.io/cn/

Qt功能

  • xml
  • 网络
  • 多线程
  • 数据库
  • 定位
  • 多媒体
  • web浏览器
  • 桌面UI - 主要讲解这一部分
    ...

3. PyQt官网

PyQt官网链接

4. PyQt的版本

  • 1998年首次发布
    PyKDE 后改名PyQt
  • PyQt3
  • PyQt4
  • PyQt5
    Python对Qt5.x版本的绑定
    对Python3支持很好

4. 教学中的版本选择

Python3 +
PyQt5

四、PyQt优势

1. 简单好用

在同等功能实现的下,使用已经很简单
界面完全可以可视化操作

2. 功能强大

600多个类
种类繁多的控件

3. 跨平台支持

Windows
Linux
Mac OS
iOS
Android
...

4. 性能高

Qt使用C++实现
自行领悟

5. 文档齐全

对Qt库Python绑定
除下自己的文档,也几乎可以通用Qt文档

6. 稳定性高

面向对象
信号与槽的机制
界面设计与业务代码完全隔离

7. 生态支持

Qt Designer进行图形界面设计
ui转换成py文件
资源处理
...

8. 开源免费

PyQt5是双重许可的。开发人员可以在GPL和商业许可之间进行选择
GPL协议

  • 软件版权为开发者本人所有
  • 受国际相关版权法保护
  • 允许其他用户对原作者软件进行复制和发行
  • 也可更改后,发行自己的软件
  • ...

五、综上所述

我们教程中的Python-GUI库的选择是PyQt!

下一章节会介绍如何搭建相关开发环境!


  • 获取更多资源,请关注微信公众号“百川一页”;


    百川一页
  • 或加入QQ群:635040761(请注明来源)


    Python进化群

相关文章

网友评论

      本文标题:Python-GUI编程-库的选择

      本文链接:https://www.haomeiwen.com/subject/llgpwftx.html