curses
内建的 ncurses 封装,用来创建终端图形用户界面。curses 库为基于文本的终端提供了独立于终端的屏幕绘制和键盘处理功能,在普遍使用图形显示界面的现在,在一些小众市场,例如嵌入式Unix上能做出交互式更优雅的终端也是非常nice的。
enaml
enaml是一种能够让你用最小的努力就可以实现高质量GUI界面的的Python框架,也是一种独特的编程语言。
enaml将声明性语言与基于约束的布局系统结合在一起,使用户可以轻松地定义灵活布局的UI。enaml应用程序可以在任何支持Python和Qt的平台上运行。
enaml具有如下特性:
- 一种具有Python风格的声明性编程语言
- 数十个小部件都可以直接在Qt上构建
- 基于约束的布局引擎(基于Kiwi构建)
- 与数据模型工具(基于Atom构建)集成
kivy
Kivy 是一个开源的 Python 框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等。
Kivy 可以运行于 Windows, Linux, MacOS, Android, iOS 等当前绝大部分主流桌面/移动端操作系统。
Kivy 基于 Python,界面文件和程序文件相互分离的设计思路,设计简洁优雅,语法易学,适合新人入门。
pyglet
一个 Python 的跨平台窗口及多媒体库,可以进行游戏开发、音视频处理等,比pygame更轻量一些。
PyQt
跨平台用户界面框架 Qt 的 Python 绑定 ,支持 Qt v4 和 Qt v5,这是老牌的界面设计库了。
PySide
PySide和PyQt的区别,前者是Qt公司的产品,后者是第三方公司的产品,二者用法基本相同,不过在使用协议上却有很大差别,PySide可以在LGPL协议下使用,PyQt则在GPL协议下使用
Tkinter
Tkinter 是 Python GUI 的一个内置的GUI标准库,其语法简单易学,适合初学者练手。
Toga
一个 Python 原生的,操作系统原生的 GUI 工具包。
urwid
一个用来创建终端 GUI 应用的库,支持组件,事件和丰富的色彩等。
wxPython
wxPython是一个用C ++编写的适用于Python的跨平台GUI工具包,它让Python程序员们能够简单、轻松地创建功能强大的图形用户界面的程序。它目前支持的平台包括Microsoft Windows、Mac OS X和macOS,以及Linux或其他具有GTK2或GTK3库的类unix系统。
PyGObject
PyGObject是一个Python包,它为基于GObject的库(如GTK、GStreamer、WebKitGTK、GLib、GIO等)提供绑定。这些库可以支持 GTK+3 图形界面工具集,因此时 GObject 提供了丰富的图形界面组件。它支持Linux、Windows和macOS。
Flexx
Flexx 是一个纯 Python 语言编写的用来创建 GUI 程序的工具集,它使用 web 技术进行界面的展示。应用程序完全用Python编写,PScript转译器动态生成必要的JavaScript。可以使用Flexx创建(跨平台)桌面应用程序,web应用程序,并将应用程序导出到独立的HTML文档。
Eel
Eel 是一个轻量的 Python 库,用于制作简单的类似于 Electron(但是比它更轻量) 的离线 HTML/JS GUI 应用程序,并具有对 Python 功能(capabilities)和库的完全访问权限。
Eel 托管一个本地 Web 服务器,然后允许您使用 Python 注释函数(annotate functions),以便可以从 JavaScript 调用它们,反之亦然。
PySimpleGUI
它是对tkinter,Qt,WxPython 和 Remi 的封装,通过实现大部分“样板代码”比直接使用底层框架编写更简单、更短。看名字就知道,易于使用,但是美观方面不是特别好。
pywebview
pywebview 是一个包含有 WebView 组件的轻量级跨平台应用容器,可以在原生GUI的窗口中显示HTML内容。脱离于浏览器在桌面应用程序中应用 Web 技术的强大功能,隐藏了 GUI 基于浏览器的事实。您可以在 pywebview 中使用像 Flask 或 Bottle 这样的轻量级 Web 框架,也可以单独使用 Python 和 DOM 之间的双向桥接。
DearPyGui
Dear PyGui是一个简单易用(但功能强大)的Python GUI框架。它不是一般意义上的Dear ImGui的包装,而是一个用Dear ImGui构建的库,它模拟了传统的保留模式GUI(相对于Dear ImGui的直接模式范例)。Dear PyGui与其他Python GUI的框架也有着根本的不同。在后台,Dear PyGui使用即时模式范例和你的计算机的GPU来促进极其动态的接口。Dear PyGui目前支持以下平台:Windows 10,macOs,Linux,Raspberry Pi 4。
EasyGUI
EasyGUI是一个用Python进行的非常简单、非常容易的GUI编程模块。它不同于其他GUI库,因为EasyGUI不是事件驱动的,相反,它所有的GUI交互都是通过简单的函数调用调用的,不要求程序员了解任何关于tkinter、框架、小部件、回调或lambda的信息。