Python GUI你不知道的三个开源框架

-回复 -浏览
楼主 2018-03-29 17:31:57
举报 只看此人 收藏本贴 楼主

喜欢python或者想学习python的朋友可以加群:643692991

在Python中,开始使用GUI编程的步骤并不复杂,但是它们要求用户开始做出一些选择。 作为通用编程语言的本质,每个常见操作系统都有可用的解释器,Python对于创建图形用户界面的选择必须是非常不可知的。

幸运的是,有很多选项可用于程序员,希望为用户创建一个简单的方式与他们的程序进行交互。 在各种平台上存在几个UI框架的绑定,包括Windows,Mac和Linux的本地平台,许多平台可以在三个平台上运行。

在我们进一步之前,让我玩魔鬼的倡导者一会儿,问:您的应用程序是否真的有一个传统的图形用户界面?对于一些程序,答案是显而易见的。如果您的应用程序本质上是图形化的,并且在一台机器上进行了优化或者只是在本地运行,那么是的,您可能应该构建一个桌面GUI。很多时候,这是你的设计显而易见的。

但是对于更通用的程序,不要忘记命令行或Web界面。命令行提供了许多优势 - 速度,远程访问,可重用性,可脚本化和控制 - 这可能对于应用程序的用户而言比图形界面更重要,而且还有许多图书馆,如Click,Cement和Cliff,可以更容易地设计伟大的命令行程序。

同样的,一个Web界面,即使是在本地运行的程序,也许是值得考虑的选择,特别是如果您认为用户可能希望远程托管您的应用程序,像Django,Flask或Pyramid这样的项目都可以直接。您甚至可以使用像pywebview这样的库,在更本地的GUI窗口中,在Web应用程序周围放置一个薄的包装。

或者您可以使用像Pyforms这样的框架,通过Web,命令行和桌面来构建一致的体验,所有这些都具有单一的代码库。

还是要建立一个GUI?伟大的,这里有三个梦幻般的开源库让你开始。

PyQt的

喜欢python或者想学习python的朋友可以加群:643692991

PyQt实现了流行的Qt库,因此,如果您熟悉另一种语言的Qt开发,也许可以通过开发KDE或其他Qt使用桌面环境的本机应用程序,您可能已经熟悉了Qt。这开辟了在Python中开发应用程序的可能性,这些应用程序在许多平台上具有熟悉的外观和感觉,同时利用了大型Qt社区的工具和知识。

PyQt根据商业和GPL许可证进行双重许可,与Qt项目本身不同,支持PyQt的主要公司提供许可证常见问题解答,以帮助您了解这对您的应用程序意味着什么。

Tkinter的

喜欢python或者想学习python的朋友可以加群:643692991

如果有一个包可能被称为Python的“标准”GUI工具包,那么它将是Tkinter。 Tkinter是Tcl / Tk周围的封装,是90年代初推出的流行图形界面和语言配对。选择Tkinter的优势是大量的资源,包括书籍和代码示例,以及大量的用户社区,如果您有任何疑问,可能会帮助您。简单的例子很容易开始,而且可读性好。

Tkinter可以使用Python许可证,在Tcl / Tk的BSD许可证之上。

wxPython的

喜欢python或者想学习python的朋友可以加群:643692991

WxPython将wxWidgets跨平台GUI库从其本机C ++引入到Python中。 WxPython是一种稍微更现代化的方法,它看起来比不同操作系统上的Tkinter更加原生,因为它不会尝试创建自己的一组小部件(尽管这些可以主要看起来像是本机组件)。开始使用也很容易,开发人员社区也不断增长。您可能需要将wxPython与应用程序捆绑在一起,因为它不会随Python自动安装。

WxPython使用其父项目的wxWindows库许可证,这是OSI批准的。

这些不是您可以使用的唯一选择,甚至不是一个长镜头。有关更多选项,请查看官方Python软件基金会wiki上的“Python中的GUI编程”页面,您将在其中找到几十个其他选项。虽然初学者想要寻找并且可能避免只是部分实施的项目,或者那些较为积极地维护的项目,但是对于各种情况你会发现很多好的适合。

虽然许多选项都是针对更加传统的应用程序,这些应用程序具有父窗口环境的外观和感觉,但还有一些时候,您可能希望做一些完全不同的内容,例如在视频游戏中。这些情况也有很好的图书馆,比如pygame和pyglet。

喜欢python或者想学习python的朋友可以加群:643692991

你有没有我们这里没有提到的最爱?让我们在下面的评论中知道!


我要推荐
转发到