Python的 GUI 框架
Tkinter
Python内嵌的gui环境,使用TCL实现,python IDLE由Tkinter实现- 历史悠久,
perl中有对应的perlTk。Python标准安装包中包含Tkinter,易学易用,方便创建简单GUI。 - 跨平台
- 布局全靠代码实现,15种常用部件,效果简陋
Wxpython
- 跨平台,由
C++编写 Python的扩展模块,使用前需要安装- 遵循
LGPL协议,自由软件,商用许可 - 文档少,遇到问题不容易解决
- 代码布局控件,不直观
Pygtk
Python对GTK+ GUI库的封装Python的扩展模块,使用前需要安装Gnome下应用多GTK在windows下兼容性会有一定问题
Pyqt
Python对QT的包装,QT源码为C++- 跨平台特性好,本地显示效果
Pyqt与QT的函数接口一致,由于QT开发文档丰富,间接导致pyqt的开发文档也比较丰富- 控件丰富,函数/方法多,拖拽布局
- 方便打包成二进制文件
- GPL协议,商业程序需要购买商业版授权
Pyside
Python对QT的封装- 扩展模块,使用前需要安装
- 跨平台特性好
- 与
pyqt的API一致 - 诺基亚的亲儿子
LGPL协议,新软件可以是私有的而不需要是自由软件
Kivy
- 使用
python和cython编写,100%开源免费 - 针对多点触摸应用
- 全平台支持(
Linux,Windows,Mac OS X,Android,iOS,Raspberry Pi) - 布局使用专用语言
kivy language,代码布局,GUI布局环境尚不成熟 - 中文支持差
为什么使用pyqt
API与QT一致,学习pyqt,可以等效于学会了QT,一劳多得- 文档丰富,遇到问题不用憋很久
- 学习成本低
- 开发迅速,
Qt designer实现GUI拖拽布局,所见即所得 - 学习经验容易迁移到
pyside,开发商业应用方便打包发布软件