我们都知道当一个东西比较匮乏的时候,我们会比较苦恼,苦恼找不到好的替代。但是但一个东西比较丰富的时候,我们也会苦恼,苦恼的是如何进行选择。就比如每天我们都面临的一个巨大的难题就是今天中午吃什么?
python开发图形界面也有这样的烦恼,有很多gui框架提供我们选择,让我们眼花缭乱,我们很难从中选择一个。下面我简单介绍下主流的三个python gui框架。
Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。
wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。
pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。Qt库是最强大的GUI库之一。Qt强大之处在于网上有很多pyqt的资源,而且qt技术已经相当成熟,pyqt是采用基本和qt一致的api,因此之前使用过qt的人,转移到pyqt很容易,这也是我们学习编程的始终强调的一点,一通百通,当你一门语言学习扎实了,学透了,那么转移到其它语言是非常容易的。
pyqt5作为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。pyqt5是双重许可。开发者可以在GPL和商业许可之间进行选择。
QT可能是最强大的,但也许它也是最复杂的。如果你要推销自己的软件,那么你需要确保你有正确理解QT许可证或准备支付一笔不小的费用。
QT给我们带来最方便的好处,就是它有一个QT Desiginer,这个设计器可以方便我们进行页面的布局,可以说在Tkinter里面需要一坨坨的代码完成的页面布局,在QT里面只要拖一拖控件就搞定了。
因此,Tkinter的缺点就是,如果你想要构建一个GUI界面布局,你就必须自己写代码,因为Tkinter没有提供一个图形界面设计器,我估计这也是很多人没有选择它来做软件的一个最主要原因。当然,Tkinter也有自己的优点,因为Tkinter是python自带的图形库,所以它的性能不是很差,此外,它也更容易学习。
比较了Tkinter和QT,接下来我们谈一谈wxPython。
wxPython可以说是上面两者之间的一个很好的妥协。它是免费的,源代码是开放的,允许其应用在商业产品上,你可以免费使用它和共享它。同时,它也提供类似QT Designer的设计器wxFormbuilder。可以说他就是个压缩版的QT,但是该有的功能却完全不缺失。
看到这里,似乎有人可能已经决定使用wxPython了,但是我想告诉你的是,存在即合理这个道理。既然这三种框架都存在,并且都依然在维护,就说明这三个框架都有人在使用,并且都有自己的受众人群,也都有自己存在的意义。
很多人都在纠结到底应该选择哪一个,我觉得,先选择一个并深入研究下去,你才会知道哪个更适合自己,毕竟,萝卜白菜,各有所爱,他人满意的,并不一定适合你。
转载自百家号:互联网前世今生