面向开发人员的 10 大 Python GUI 框架

根据 Stackoverflow,Python 是最受欢迎的语言,这意味着大多数开发人员都使用 Python,这源于编写 Python 代码的乐趣在于看到简短、简洁、可读的类,这些类用少量清晰的代码表达了很多动作——而不是大量让读者厌烦的琐碎代码。

众所周知,图形用户界面或 GUI是任何应用程序的三个主要基石之一,另外两个是安全性和性能在这三个重要方面保持适当的平衡可以帮助您确保直观和无缝的用户体验。我们不能过分强调拥有一个简约且同时强大的用户界面的重要性。在缺乏强大工具(如框架)的情况下,开发人员开始失去理智来创建完美用户界面的日子已经一去不复返了。

由于 Python 的日益普及、平滑的学习曲线和在现实世界中的广泛采用,它使得它成为一种引人注目的编程语言,在 2020 年开始兴起。在牢牢掌握 Python 编程基础后不久,初学者面临的下一个挑战是构建用户界面。幸运的是,有很多 Python 框架专门帮助开发人员构建令人惊叹但高度直观的用户界面,以配合现代应用程序。

什么是图形用户界面?

图形用户界面 (GUI)是您的用户在打开您的应用程序或 站时看到并与之交互的第一件事。拥有良好的 GUI 对提高平台的声誉和用户数量大有帮助。用户界面通常包括许多视觉元素,如图标、按钮、图形、显示的文本以及其他几种输入形式,如复选框、文本输入框等。

所有这些元素的组合构成了您的应用程序或 站用户体验的重要组成部分。这些视觉元素的输入可以来自常用的媒介,例如键盘、鼠标和触摸屏。

适合开发人员的最佳 Python GUI 框架

专注于完善用户界面是一件好事,但同样重要的是提供最好的用户体验在不花费大量资源的情况下提供它同样重要。Python 有大量用于开发 GUI 的框架,我们在下面列出的列表中收集了一些最流行的 Python GUI 框架。

1.PyQt5

  • 开发者:河岸计算
  • 站链接:https ://riverbankcomputing.com/software/pyqt/intro
  • PyQt 包是围绕Qt 框架构建的,这是一个跨平台框架,用于为各种平台创建大量应用程序。PyQt5 包包含一组详细的 Python 绑定,基于 Qt 应用程序框架的最新版本 v5

    与 Qt5 框架类似,PyQt5 也是完全跨平台的。通过利用 PyQt5 的强大功能,开发人员可以为 Windows、Mac、Linux、iOS、Android 等平台构建应用程序。

    在创建 GUI 时,PyQt5 库提供了令人印象深刻的QtGuiQtDesigner 模块它们提供了许多可视化元素,开发人员可以通过简单的拖放来实现。当然,也可以选择通过代码创建这些元素,让您轻松创建小型和大型应用程序。Python 的模块化以扩展的形式渗透到 PyQt5,为您提供更多功能,而不仅仅是 GUI 构建。如果您喜欢这里看到的内容,可以使用命令“pip install PyQt5”尝试 PyQt5。

    2.Tkinter

  • 开发者: Fredrik Lundh
  • 站链接:https ://wiki.python.org/moin/TkInter
  • 通常被大多数 Python 开发人员称为首选 GUI 工具包,创建Tkinter 的目的是为现代开发人员提供 Tk GUI 工具包及其 Python 绑定的标准接口。在 Tkinter 的世界中,我们熟悉的大多数视觉元素都称为小部件,并且这些小部件中的每一个都提供了不同级别的可定制性。

    Tkinter 已融入所有主要操作系统的当前 Python 安装程序,并提供了许多常用元素,我们相信您一定熟悉这些元素。下面列出了其中一些视觉元素:

    ● 框架:用于为您的应用程序提供结构

    ● 按钮:用于获取用户的输入

    ● 复选按钮:用于进行选择

    ● 标签:用于显示文本信息

    ● 文件对话框:用于向/从应用程序上传或下载文件

    ● 画布:为绘制/绘制图形和绘图等内容提供空间

    3.基维

  • 开发者: Kivy 组织
  • 站链接:https ://kivy.org
  • Kivy 教程: https ://www.youtube.com/watch?v=bMHK6NDVlCM&list=PLzMcBGfZo4-kSJVMyYeOQ8CXJ3z1k7gHn
  • Kivy由 Python 和 Cython 混合编写而成,是一个开源 GUI 框架,用于构建一些最直观的用户界面,包括实现自然用户界面 (NUI)的多点触控应用程序。

    NUI 是一种界面,用户可以自然地了解用户界面提供的各种交互,而这些交互通常是不可见的。

    使用 Kivy,界面设计人员可以编写一次代码并部署到多个平台,而对 OpenGL ES 2 的内置支持允许他们使用现代且强大的图形和设计技术。Kivy GUI 框架在现实世界中最常见的使用可以在我们的 Android 和 iOS 应用程序中看到。该框架的其他广泛实现可以在Linux、Windows、Raspberry Pi 和 Mac OS设备的用户界面中看到。您可以按照他们 站上提供的安装说明轻松将此框架添加到您的环境中。

    GitHub 上十大热门 Python 项目

    像这样的 GitHub 项目是人们创造力和才能的完美展示

    向datascience.com

    4.wxPython

  • 站链接:https ://www.wxpython.org/
  • 教程链接: https ://www.youtube.com/watch?v=NMjV_HGLAQE
  • wxPython本质上是一个 Python 扩展模块,它充当 wxWidgets API 的包装器。wxPython允许 Python 开发人员创建本地用户界面,为应用程序增加零额外开销。wxPython 的跨平台功能允许在几乎没有修改的情况下部署到 Windows、Mac OS、Linux 和基于 Unix 的系统等平台。

    这对开发者二人后来发布了 Project Phoenix,作为 wxPython 的继承者,支持 Python 3。它是从头开始构建的,旨在为 wxWidgets 工具包提供更简洁的 Python 实现。如果你有兴趣尝试这个框架,你会很高兴知道最新的更新 v4.1.1已将它添加到 Python 包索引中。随着它对 PyPI 的添加,使用命令“pip install wxPython==4.1.1”下载变得更加流畅。

    5.Libavg

  • 开发者:阿尔弗雷德·比格勒
  • 站链接:https ://www.libavg.de/site/
  • 由 Ulrich Von Zadow 用 C++ 编写的开源 L ibavg GUI 框架使用 Python 作为首选脚本语言,是为现代基于触摸的设备开发用户界面的最佳框架之一。视频解码、视觉效果和合成等图形密集型方面都由通过 OpenGL 和 GPU 着色器实现的硬件加速处理,以提供流畅且图形丰富的视觉效果。

    libavg 支持大多数常用的触摸驱动程序,并提供一系列功能,例如相机支持、文本对齐、动画支持、模糊、阴影等 GPU 效果等。还有一个高级屏幕布局引擎,可为视觉元素提供旋转、缩放、裁剪、混合模式和其他操作技术。

    使用 C++ 构建以确保难以置信的快速执行时间,希望从应用程序中获得绝对最佳性能的开发人员不会对 libavg 感到失望。您可以在他们 站的下载页面上找到安装说明。

    6. PySimpleGUI

  • 开发者: Mike B
  • 站链接: https ://pysimplegui.readthedocs.io/en/latest/
  • 这个框架的名称不是对它的用途的死赠品吗?回到主题,刚开始使用 Python 应用程序开发的人可能会发现很多 Python GUI 框架一开始会让人望而生畏。Mike B. 在 2018 年创建了 PySimpleGUI,使 Python 新手更容易进入 GUI 开发,而无需花费太多时间来了解可用的更高级 GUI 开发选项的复杂性。

    PySimpleGUI 采用了 4 个广受欢迎的 Python GUI 框架,包括Qt、Tkinter、WxPython 和 Remi,并通过实现大部分样板代码将它们的难度降低了几个档次。结果?

    初学者可以选择他们选择的 GUI 框架,并且可以轻松访问其随附的各种视觉元素,以创建直观的用户界面,而无需深入研究框架。这并不意味着经验丰富的开发人员只能访问他们喜欢的框架的简化版本,获得完整本机功能的选项仍然存在。

    7. PyForms

  • 站链接:https ://pyforms.readthedocs.io/en/v4/
  • PyForms GUI 框架是广为人知的 Windows 窗体的核心 Python 软件层,它允许开发人员创建一些令人惊叹的高度交互的用户界面。PyForms 的跨平台功能使开发人员可以更轻松地为多个平台创建应用程序,只需对代码进行少量更改,从而消除不必要的减速。PyForms 提供了几个流行的以图形为中心的库的实例,例如PyQt、OpenGL,以帮助开发人员为其应用程序创建用户界面。

    PyForms 库分为 3 个不同的部分,包括 PyForms-GUI、PyForms-Web 和 PyForms-Terminal。这些层中的每一层都允许在 Web、终端和 Windows GUI 中执行 PyForms 应用程序。PyForms 专注于模块化,非常适合快速创建原型,并且它还可以缩短应用程序后期的维护工作。安装是使用命令“pip install pyforms”来处理的,该命令添加了所有三个库,或者如果您想单独使用这些库,这也是可能的。

    8.Wax

  • 站链接:https ://wiki.python.org/moin/Wax
  • 还记得我们之前讨论过的名为 wxPython 的框架吗?就像 wxPython 是 wxWidgets GUI 工具包的包装器一样,wax GUI 框架是 wxPython 对开发人员更友好的包装器。与其他流行的框架一样,wax 也作为 Python 的扩展模块实现。对于那些想知道的人,是的,wax 支持构建跨平台应用程序。

    蜡背后的想法是通过删除 wxPython 的低级方面,为应用程序开发人员提供对 Python 元素和对象的更简单的访问以构建 GUI。由于底层平台 wxWindows 本身非常高效,因此 Wax GUI 框架与使用平台提供的本机小部件具有相同水平的效率和速度。

    9. PySide2

  • 开发者: Qt 公司
  • 站链接:https ://www.qt.io/qt-for-python
  • PySide2为我们提供广受欢迎的应用程序开发框架Qt 的同一家公司构建的。仔细观察,您会遇到“Qt for Python Project”这个术语,它只不过是移植 PySide 以支持 Qt5 的任务,而框架本身现在被称为 PySide2。

    它现在被称为 Qt for Python 项目的官方跨平台 Python 模块。该项目使 Python 开发人员可以访问经过验证的工具和库集合,以便快速灵活地创建Qt5 及更高版本必须提供的令人惊叹的用户界面工具。

    PySide2 还为正在寻找它的开发人员提供强大的 区支持。PySide2 的文档部分已分为教程、视频指南、示例、API 文档等区域,以广泛涵盖框架中包含的各种主题。AMD 的 Radeon 控制软件、梅赛德斯Mini Cooper 的驾驶舱娱乐解决方案 和 TomTom 的导航系统只是在 Qt 上运行的一些高科技和现代示例。

    10.PyGUI

  • 开发者: Gregory Ewing 博士
  • 站链接:https ://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/
  • Python GUI项目,或者更常见的PyGUI框架,是一个简单的 API,使开发人员能够使用Python 应用程序的本机元素创建用户界面。作为一个相当轻量级的 API, PyGUI 框架在 Python 应用程序和目标平台之间添加了非常少的额外代码。PyGUI目前支持为基于 Unix 的系统、Windows 机器和 Mac OS 设备创建应用程序。

    为了让开发人员更轻松地进行应用程序开发,整个库的文档均使用 Python 编写,无需参考其他 GUI 库。PyGUI 可用于 Python 2 和 3,是的,它确实支持允许您使用 OpenGL 和 GTK 的扩展。

    结论

    现在,我们在 Python 中有大量的 GUI 框架,例如TkInter、Kivy、PyForms等,这些框架旨在增强构建人们喜欢使用的用户界面。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年7月14日
    下一篇 2022年7月14日

    相关推荐