随着Python越来越受欢迎和广泛采用,它将在2020年成为一种流行的编程语言。在扎实掌握Python编程基础之后,接下来初学者面临的挑战是构建用户界面。幸运的是,有大量Python框架致力于帮助开发人员为程序应用程序构建令人惊叹但高度直观的用户界面。本文的目的是帮助那些正在努力寻找合适的框架来使用Python构建交互式GUI的人。什么是GUI图形用户界面(GUI)是用户在打开应用程序或网站时首先看到并与之交互的东西。拥有良好的GUI可以帮助您提高平台的声誉和用户数量。用户界面通常包括许多视觉元素,如图标、按钮、图形、显示的文本和其他几种输入形式,如复选框、文本输入框等。所有这些元素的组合构成了应用程序或网站用户的重要组成部分经验。这些视觉元素的输入可以来自常用媒体,例如键盘、鼠标和触摸屏。一个好的GUIPython框架专注于完善用户界面是一件好事,但提供尽可能最好的用户体验同样重要,并且在不投入太多资源的情况下交付它也同样重要。Python有大量用于开发GUI的框架,我们在下面的列表中收集了一些最流行的PythonGUI框架。1.PyQt5PyQt包是围绕Qt框架构建的,它是一个跨平台的框架,用于为各种平台创建大量的应用程序。与Qt5框架类似,PyQt5也是完全跨平台的。通过利用PyQt5的强大功能,开发人员可以为Windows、Mac、Linux、iOS、Android等构建应用程序。在创建GUI时,PyQt5提供了令人印象深刻的QtGui和QtDesigner模块,它们提供了许多可视化元素,开发人员可以通过简单的拖放操作实现这些元素。当然,也有通过代码创建这些元素的选项,让您轻松创建小型和大型应用程序。Python的模块化以扩展的形式扩展到PyQt5,为您提供比GUI构建更多的功能。如果您喜欢这里看到的内容,可以使用“pipinstallPyQt5”命令尝试PyQt5。2.TkinterTkinter通常被称为大多数Python开发人员选择的GUI工具包,创建Tkinter是为了向现代开发人员提供TkGUI工具包及其Python绑定的标准接口。在Tkinter世界中,我们熟悉的大多数视觉元素都称为小部件,每个小部件都提供不同级别的可定制性。Tkinter已集成到所有主要操作系统的当前Python安装程序中,并提供了一组我们相信您会熟悉的常用元素。下面列出了一些视觉元素:Frame:为您的应用程序提供结构Button:用于获取用户输入Check按钮:用于进行选择Label:用于显示文本信息在Canvas中上传或下载文件:提供绘制图形和绘图的空间3.KivyKivy是用Python和Cython混合编写的,它是一个开源GUI框架,用于构建一些最直观的用户界面,包括为多点触控应用程序实现自然用户界面(NUI)。借助Kivy,界面设计人员只需编写一次代码即可部署到多个平台,而内置的OpenGLES2支持允许他们使用现代且强大的图形和设计技术。在我们的Android和iOS应用程序中可以看到KivyGUI框架最常见的实际用法。在Linux、Windows、RaspberryPi和MacOS设备的用户界面中可以看到该框架的其他广泛实施。您可以按照网站上提供的安装说明轻松地将此框架添加到您的环境中。4.wxPythonwxPython本质上是一个Python扩展模块,充当wxWidgetsAPI的包装器。wxPython允许Python开发人员创建本地用户界面,不会给应用程序增加额外的开销。wxPython的跨平台能力允许部署到Windows、MacOS、Linux和基于Unix的系统,几乎不需要修改。开发人员二人组后来发布了ProjectPhoenix,它是wxPython的继承者,支持Python3。它是从头开始构建的,旨在提供wxWidgets工具包的更清晰的Py??thon实现。如果您有兴趣尝试这个框架,您会很高兴知道最新的更新v4.1.1已将它添加到Python包索引中。加入PyPI后,“pipinstallwxPython==4.1.1”命令的下载变得更加顺畅。5.Libavg由UlrichVonZadow用c++编写的开源LibavgGUI框架使用Python作为脚本语言,是为现代触摸屏设备开发用户界面的最佳框架之一。图形密集部分,如视频解码、视觉效果和合成,通过OpenGL和GPU着色器实现的硬件加速处理,以提供流畅和丰富的图形视觉效果。libavg支持最常用的触摸驱动程序,并提供一系列功能,如相机支持、文本对齐、动画支持、GPU效果(如模糊、阴影等)。还有一个高级屏幕布局引擎,可为视觉元素提供旋转、缩放、裁剪、混合模式和其他操作技术。libavg是用C++构建的,以确保极快的执行时间,希望应用程序获得绝对最佳性能的开发人员不会失望。您可以在其网站的下载页面上找到安装说明。6.框架PysimpleGUI的名称难道没有透露它的确切用途吗?言归正传,刚开始接触Python应用开发的人,一开始可能会觉得很多PythonGUI框架让人望而生畏。MikeB.在2018年创建了PySimpleGUI,使Python新手更容易进入GUI开发,而无需花费太多时间来了解更高级的可用GUI开发选项的复杂性。PySimpleGUI采用了4个广泛流行的PythonGUI框架,包括Qt、Tkinter、WxPython和Remi,并通过实现大部分样板代码来降低它们的难度。结果?初学者可以选择自己喜欢的GUI框架,并轻松访问它附带的各种视觉元素,从而无需深入研究框架即可创建直观的用户界面。这并不意味着有经验的开发人员只能访问他们最喜欢的框架的精简版本,获得完整本机功能的选项仍然存在。7.PyFormsPyFormsGUI框架是一个Python软件层,其核心是广为人知的Windows窗体,它允许开发人员创建一些令人惊叹的、高度交互的用户界面。PyForms的跨平台功能使开发人员可以更轻松地以最少的代码更改为多个平台创建应用程序,从而消除不必要的减速。PyForms提供了几个流行的以图形为中心的库的实例,例如PyQt、OpenGL等,以帮助开发人员为其应用程序创建用户界面。PyForms库分为3个不同的部分,包括PyForms-gui、PyForms-web和PyForms-terminal。每一层都允许在Web、终端和WindowsGUI中执行PyForms应用程序。通过对模块化的关注,PyForms变得非常适合快速原型制作,它也减少了应用程序后期的维护工作。安装是通过“pipinstallpyforms”命令处理的,它添加了所有这三个库,或者如果你想单独使用这些库,你也可以这样做。8.Wax还记得我们之前讨论过的wxPython框架吗?就像wxPython是wxWidgetsGUI工具包的包装器一样,waxGUI框架是wxPython的更友好的包装器。与其他流行的框架一样,wax是作为Python的扩展模块实现的。对于那些想知道的人,是的,Wax支持构建跨平台应用程序。wax背后的想法是通过删除wxPython的低级功能,为应用程序开发人员提供更容易访问Python元素和对象以构建GUI的方法。由于底层平台wxWindows如此高效,waxGUI框架在使用平台提供的原生widgets时具有同样的效率和速度。9.PySide2PySide2是由为我们提供广泛流行的应用程序开发框架Qt的同一家公司构建的,仔细看你会遇到术语“QtforPythonProject”,这无非是将PySide移植到支持Qt5的任务,而框架本身现在称为PySide2。它现在被称为QtforPython项目的官方跨平台Python模块。该项目为Python开发人员提供了经过验证的工具和库集合,用于快速灵活地创建由Qt5及更高版本提供的令人惊叹的用户界面工具。PySide2还为寻求它的开发人员提供强大的社区支持。PySide2的文档部分分为教程、视频指南、示例、API文档等区域,广泛涵盖框架中包含的各种主题。AMD的Radeon控制软件、梅赛德斯-奔驰MiniCooper的驾驶舱娱乐解决方案和TomTom的导航系统都是运行在Qt上的高科技和现代示例。10.PyGUIPythonGUI项目,或更普遍地称为PyGUI框架,是一个简单的API,允许开发人员使用Python应用程序的本机元素创建用户界面。作为一个相当轻量级的API,PyGUI框架在Python应用程序和目标平台之间添加了很少的额外代码。PyGUI目前支持为基于Unix的系统、Windows机器和MacOS设备创建应用程序。为了让开发人员更轻松地开发应用程序,整个库的文档都是用Python编写的,无需参考其他GUI库。PyGUI可用于Python2和3,是的,它确实支持允许您使用OpenGL和GTK的扩展。
