用Python开发图形界面有两种方式
- 一种是用Django或Flash等框架开发网页
- 另一种是开发桌面应用程序,比如下面这个国际象棋游戏
本文主要讨论图形界面库GUI,最后会告诉你如何选择。
6个最常用的Python图形库
Python有非常多的图形界面库:
这里我们只讨论最常用的6个:
- PyQt5 经常排在第一位Python图形界面库,基于著名的Qt跨平台图形界面库。自带大量空间,有QtGUI和QtDesigner,可以帮你方便的设计界面。 不过这个是要License的,适合企业级用户或者土豪。但是真的很好用,你值得拥有。
- Tkinter 初学者的最爱之一,因为著名的turtle库就是基于Tkinter的。它也自带了大量控件,方便使用。对于不想花钱用PyQt5的小伙伴,Tkinter是一个很好的选择。
- wxPython/Wax wxPython是一个用C 写的跨平台GUI工具包,而Wax是基于wxPython的一个包装,包装的价值在于更加方便易用,所以我建议直接使用Wax。
- Kivy Kivy是一个基于OpenGL ES 2的Python图形库,它最大优点是它还支持触摸屏,可以制作非常精美的界面。
- Libavg Libavg是专门用于构建触摸屏界面的Python库。它内置C ,可加快执行时间,这是处理基于触摸的界面时所必需的。相对于Kivy,它相应更快,毕竟它是专门为触摸屏而设计的。
- PySimpleGUI 放在最后,但不代表不重要。顾名思义,这是一个简单的GUI库,非常适合初学者构建不是很复杂的界面。虽然它叫Simple,一般的界面还是够用的。
如何选择
- 初学者:建议使用PySimpleGUI。它非常简单,容易上手,文档也多。
- 进阶者:如果觉得PySimpleGUI太简单了,建议使用Wax。Wax是wxPython的包装版本,但是更容易使用。所以建议直接使用Wax,跳过wxPython。
- 设计者:如果你的界面比较复杂,有很多控件,需要设计,那建议使用PyQt5,或者Tkinter,因为它们给你预先提供了很多控件。
- 触摸屏:如果你要开发触摸屏的应用,那就使用Kivy或者Libavy。对执行效率要求很高,就用Libavy,因为它快。否则使用Kivy,更容易使用,界面更容易做。