[Python](http://www.blog2019.net/tag/Python?tagId=4)是一种高级编程语言,它用于通用编程,由Guido van Rossum 在1991年首次发布。Python 的设计着重于代码的可读性。
Python有一个非常大的标准库,并且有一个动态类型系统,它还具有自动内存管理功能,支持多种编程范例。这些包括:
● 面向对象
● 命令式
● 函数式
● 程序式
图形用户界面([GUI](http://www.blog2019.net/tag/GUI?tagId=22))
GUI是一个人机交互的界面。换句话说,它是人类与计算机交互的一种方法。它使用窗口,图标和菜单,也可以通过鼠标和键盘进行操作。
GUI库
GUI库是在编写软件时,需要图形用户界面(GUI)所需要的库。在构建程序的GUI时,通常使用层叠方式,图形控制元素直接叠加在一起。
Python GUI
当你使用python编写应用程序时,你就一定要使用GUI。Python GUI的选择有很多。目前来说,Python GUI程序库有30多个跨平台框架。现在就列出其我认为最好的13个:
1. Tkinter
是一个轻量级的跨平台图形用户界面(GUI)开发工具,是Tk图形用户界面工具包标准的Python接口,目前可以运行于绝大多数的Unix平台、[Windows](http://www.blog2019.net/tag/Windows?tagId=14)和Macintosh系统(
Tkinter教程页面: http://python-textbok.readthedocs.io/en/1.0/Introduction_to_GUI_Programming.html)
2. Flexx
许多Python GUI库基于以其他语言编写的库,例如用C++编写的库有wxWidgets和libavg。但Flexx是用Python创建的,使用Web技术,也正因为如此 Flexx 是跨平台的。只需要有 Python 和浏览器就可以运行。
(教程地址:http://flexx.readthedocs.io/en/latest/)
3. CEF Python
该框架基于Google Chromium,面向Windows,MAC OS和Linux,其主要用于在第三方应用程序中嵌入式浏览器的使用上。
(项目地址:https://github.com/cztomczak/cefpython)
4. Dabo
Dabo是一个跨平台的应用程序开发框架,基于wxpython的再封装库。它提供数据库访问,商业逻辑以及用户界面。
(项目地址:https://dabodev.com/)
5. Kivy
Kivy基于OpenGL ES 2,能够让使用相同源代码创建的程序能跨平台运行。这个框架是事件驱动的,基于主循环,非常适合开发游戏。(项目地址:https://kivy.org/#home)
6. Pyforms
Pyforms是一个用于开发GUI应用程序的Python 2.7 / 3.x跨环境运行框架。
(项目地址:https://pyforms.readthedocs.io/en/v3.0/)
7. PyGObject
通过PyGObject,你可以为GNOME项目编写Python应用程序,你也可以使用GTK +编写Python应用程序。
(项目地址:http://pygobject.readthedocs.io/en/latest/getting_started.html)
8. PyQt
Qt是一个跨平台的框架。它是用C ++编写的。这是一个非常全面的库。它包含许多工具和API。它被广泛应用于许多行业。它涵盖了很多平台。PyQt是Qt库的Python版本。PyQt3支持Qt1到Qt3。 PyQt4支持Qt4。
(项目地址:https://www.riverbankcomputing.com/software/pyqt/download5)
9. PySide
Qt(cute)是使用“C++”语言编写的应用程序/用户界面(UI)框架。“PySide”是“Qt”的封装。与PySide的不同之处在于PyQt可以商用。
(项目地址: https://wiki.qt.io/Category:LanguageBindings::PySide::Downloads)
10. PyGUI
PyGUI的一个主要目的就是尽量减少Python应用与平台底层GUI之间的代码量,面向Unix,Macintosh和Windows平台
(项目地址:http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/)
11. libavg
这是一个第三方库,用C ++编写的。它具有以下特性:
● 以Python变量的形式显示元素
● 事件处理系统
● 计时器
● 日志支持
(项目地址:https://www.libavg.de/site/)
12. PyGTK
在Linux中常用的“GTK+”是“PyGTK”的“GTK +”封装。与Kivy和PyQt相比,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等
(项目地址:https://github.com/GNOME/pygtk)
13. wxPython
wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。 (项目地址:https://wxpython.org/)
上面介绍的这些GUI框架,涵盖了大部分开发人员的需要。你可以根据你自己的需求,选择适合你的GUI库。