13个Python GUI库

Python

Python是一门高级编程语言。它用于通用编程。Python语言由Guido van Rossum创建,并于1991年首次发布。Python的设计哲学着重于代码的可读性。因此空白在Python中具有重要的意义。

Python提供了允许在小规模和大规模上编程的设计理念,而且具有一个非常庞大的标准库。Python使用动态类型系统,并具有自动内存管理功能。

Python支持多种编程范式,其中包括:

  • 面向对象
  • 命令式
  • 函数式
  • 程序式

图形用户界面(GUI)

GUI是一个人机交互的界面,换句话说,它是人类与计算机交互的一种方法。GUI主要使用窗口,图标和菜单,也可以通过鼠标和键盘进行操作。

GUI库

GUI库包含部件。部件是一系列图形控制元素的集合。在构建GUI程序时,通常使用层叠方式。众多图形控制元素直接叠加起来。

Python GUI库

当使用python编写应用程序时,你就必须使用GUI库来完成。对于Python GUI库,你可以有很多的选择。目前,Python GUI程序库有30多个跨平台框架。现在就列出其中十几个并简要描述:

1. Tkinter

Tkinter是一个使用Python语言构建的GUI工具包。允许采用GUI的方式执行你的Python脚本。

标题Tkinter的超链接链接到了它的教程页面。

http://python-textbok.readthedocs.io/en/1.0/Introduction_to_GUI_Programming.html

2. Flexx

许多Python GUI库都是基于其他语言编写的库,例如“C++”的“wxWidgets”“libavg”库。Flexx是用Python创建的库,采用Web技术,只要你安装了Python和浏览器那么任何地方都可以正常工作。

3. CEF Python

该框架面向Windows,MAC OS和Linux。它基于Google Chromium。其主要用于在第三方应用程序中嵌入式浏览器的使用上。

4. Dabo

该框架的底层框架是WxPython。这是一个三层框架。总的来说,Dabo是一个跨平台的应用程序开发框架。

5. Kivy

Kivy基于OpenGL ES 2。它为每个平台提供了本地多点触控功能。该框架使用事件驱动,基于主循环。Kivy非常适合开发游戏。

6. Pyforms

Pyforms是一个用于开发GUI应用程序的Python 2.7/ 3.x多运行环境框架。该框架鼓励代码的可重用性。

7. PyGObject

通过PyGObject,你可以为GNOME项目编写Python应用程序,也可以使用GTK+编写Python应用程序。

8. PyQt

Qt是一个跨平台框架,使用C ++编写。这是一个非常全面的库。它包含许多工具和API,被广泛应用于许多行业,并涵盖了众多平台。

9. PySide

Qt(cute)是使用“C++”语言编写的应用程序/用户界面(UI)框架。“PySide”是“Qt”的封装。与PySide的不同之处在于PyQt可以商用。

10. PyGUI

PyGUI的目标是Unix,Macintosh和Windows平台。这个MVC框架的重点是尽可能轻松地融入Python生态系统。

11. libavg

这是一个第三方库,使用C++编写。现在已经可以用Python进行脚本编写。它具有以下特点:

  • 以Python语言内置变量类型显示元素
  • 事件处理系统
  • 计时器
  • 支持日志

12. PyGTK | PyGObject

在Linux中常用的“GTK+”是“PyGTK”的“GTK +”封装。与Kivy和PyQt相比,PyGUI在Unix,Macintosh和Windows平台上使用相当容易。新西兰坎特伯雷大学的Greg Ewing博士开发的MVC框架专注于尽可能轻松地适合Python生态系统。

13. wxPython

“wxWidgets”是使用“C ++”编写的跨平台GUI工具包,wxPython是它的绑定。

下载地址:https://wxpython.org/pages/downloads/

总结

上面讨论了很多GUI框架,涵盖了大部分开发人员的需要。可以根据你自己的需求,选择合适的GUI库。

英文原文:https://boostlog.io/@markdrozdov/13-python-gui-libraries-5ae0259647018500491f4111?utm_source=mybridge&utm_medium=web&utm_campaign=read_more 译者:Vincent

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

- END -

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python入门教程:超详细1小时学会Python

    1.Hello world 安装完Python之后,打开IDLE(Python GUI) ,该程序是Python语言解释器,你写的语句能够立即运行。 我们写下...

    小小科
  • Apache、tomcat、Jboss、weblogic、WebSphere区别和容器的作用

    总结:Apache/Tomcat/JBOSS/Nginx区别 . 1、Apache是Web服务器,Tomcat是应用(Java)服务器。Tomcat在中小型系...

    小小科
  • 24条 Docker 建议

    在TES GLOBAL,我们已经爱上Docker并从Docker的0.8版本开始就在生产环境中使用它。我们的很多开发者都参加了在DockerCon欧洲上的培训...

    小小科
  • 分享13个Python GUI库

    Python是一门高级编程语言。它用于通用编程。Python语言由Guido van Rossum创建,并于1991年首次发布。Python的设计哲学着重于代码...

    py3study
  • 心理分析:检测内部威胁 预测恶意行为

    内部人威胁可能是最难以检测和控制的安全风险了,而对内部人威胁的关注也上升到了出台新法案的地步——2017年1月美国国会通过《2017国土安全部内部人员威胁及缓解...

    周俊辉
  • MicroPython TPYBoard v102 无线红外遥控舵机(基于红外解/编码模块)

    该模块使用方法非常简单,只需要掌握基本的单片机TTL串口通信知识即可。将模块与开发板进行串口连接,通过串口发送指定的指令进行控制模块发射;通过串口接收方式进行红...

    阿莉埃蒂
  • 单细胞RNA-seq的前世今生

    好的书籍是人类进步的阶梯,但有些人却找不到优秀的阶梯,为此我们开设了书籍翻译这个栏目,作为你学习之路的指路明灯;分享国内外优秀书籍,弘扬分享精神,做一个知识的传...

    生信技能树jimmy
  • Java并发编程的艺术(九)——批量获取多条线程的执行结果

    当向线程池提交callable任务后,我们可能需要一次性获取所有返回结果,有三种处理方法。 方法一:自己维护返回结果 // 创建一个线程池 ExecutorSe...

    大闲人柴毛毛
  • 【译】Python的优雅技巧

    如果我们除以一个整数,即使结果是一个浮点数,Python(2) 依旧会给我们一个整数。为了规避这个问题,我们需要这样做:

    py3study
  • Android中Services之异步IntentService

    IntentService:异步处理服务,新开一个线程:handlerThread在线程中发消息,然后接受处理完成后,会清理线程,并且关掉服务。 IntentS...

    欢醉

扫码关注云+社区

领取腾讯云代金券