当前位置: 首页 > 科技观察

Python界面开发库大全

时间:2023-03-20 23:04:13 科技观察

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