技术开发 频道

三大Python GUI开源框架,谁才是你的最爱?

  【IT168 评论】大多数程序员在已经准备好分析基础示例之后,都会开始为程序构建一个图形用户界面。

  在Python中,开始使用GUI编程的步骤并不复杂,但是它们要求用户开始做出一些选择。作为通用编程语言,每个常见操作系统都有可用的解释器,所以创建图形用户界面对于Python来说并不是难事。因为程序员有很多的选择,真正困难的是如何为用户创建一个简单的方式来与程序互动。

  在各种各样的平台上都有相应的UI框架,它们可能分别可以在Windows,Mac和Linux平台上运行,也可能可以同时在这三个平台上运行。

  “你的应用程序是否有一个传统的图形用户界面?”对于某些应用程序来说,这个答案是肯定的,如果这个应用程序本质上是图形化的,且在本地机器上做了优化或者是在本地运行,那么就要考虑构建一个桌面图形用户界面。如果是更为通用的程序,那么最好添加命令行或者Web界面。

  命令行拥有很多优势,例如速度、远程访问、可重用性,可脚本化和控制等等。这对用户来说往往会比图形用户界面更为重要。当然,现在有很多库可以支持设计很好的命令行程序,如Click,Cement和Cliff。

  同样的,对于本地运行的程序来说,Web界面也是十分值得考虑的。尤其是当你觉得用户可能希望应用程序能够像Django,Flask或Pyramid这样的项目可以直接远程托管。甚至你可以使用类似pywebview这样的库将Web应用程序包裹在native GUI window。

  那么如果来创建一个GUI呢?这里有三个梦幻般的开源库可以推荐给你!

  PyQt

  PyQt实现了流行的Qt库,它开辟了在Python中开发应用程序的可能性,而且开发出的应用程序在其他平台上拥有熟悉的外观和感觉。

  PyQt可以利用社区中强大的工具和资源,其拥有 commercial和GPL的双重许可,与Qt项目不同,支持PyQt的主要公司都会提供license FAQ,有助于帮助程序员了解这对应用程序意味着什么。

  Tkinter

  如果有一个包可以被称为“Python的标准GUI工具包”,那么它一定就是Tkinter。Tkinter是Tcl / Tk的封装,是90年代初推出的流行图形界面。选择Tkinter的优势是它拥有大量的资源,包括书籍和代码示例,以及活跃的用户社区,如果您有任何疑问,社区成员都可能会帮助到你。除此之外,还有很多简单的入门示例,而且可读性非常好。

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

  wxPython

  WxPython带来了wxWidgets 跨平台GUI库,支持将本机C++引入到Python中。WxPython是一种稍微更现代化的方法,它看起来比不同操作系统上的Tkinter更加接近原生,因为它不会尝试创建自己的一组小部件。它的入门使用也比较容易,社区中的开发人员也在不断增长,但是需要注意的是,可能需要将wxPython与应用程序捆绑在一起,因为它不会随Python自动安装。

  WxPython使用其父项目的wxWindows库许可证。

  当然,上面这三种开源库并不是唯一的选择,在Python的官方页面上,https://wiki.python.org/moin/GuiProgramming,你可以找到数十种工具。如果你有其它很好的推荐,欢迎在下方留言评论。

0
相关文章